Þ ¥bonds€¬cell_resultsÞ MÙ$a10d59e8-8dae-4796-a88b-4907437164f5Š¦queuedÂ¤logs�§runningÂ¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþÛIåO°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$a10d59e8-8dae-4796-a88b-4907437164f5¹depends_on_disabled_cellsÂ§runtimeÎ �Mµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$3b18aa3a-4521-4b4c-9500-a5f95003aed5Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ#UndefVarError: _combine not definedªstacktrace”Œªcall_shortÙ[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})§inlinedÂ£urlÙ£https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451®source_packageÀ¤callÙ[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})ªlinfo_type³Core.MethodInstance¤lineÌ•¤fileÙDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451¤funcª#combine#3­parent_moduleÀ¦from_cÂŒªcall_short´combine(f::Function)§inlinedÂ£urlÙ£https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451®source_packageÀ¤call´combine(f::Function)ªlinfo_type³Core.MethodInstance¤lineÌ•¤fileÙDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451¤func§combine­parent_moduleÀ¦from_cÂŒªcall_short¯macro expansion§inlinedÃ£urlÀ¤pathÙv/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/bonds.jl#@#==#3b18aa3a-4521-4b4c-9500-a5f95003aed5®source_packageÀ¤call¯macro expansionªlinfo_type§Nothing¤line}¤fileÙ2bonds.jl#@#==#3b18aa3a-4521-4b4c-9500-a5f95003aed5¤func¯macro expansion­parent_moduleÀ¦from_cÂŒªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#3b18aa3a-4521-4b4c-9500-a5f95003aed5®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#3b18aa3a-4521-4b4c-9500-a5f95003aed5¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassignee´@skip_as_script cb2b²last_run_timestampËAÚþÜ6†¡°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$3b18aa3a-4521-4b4c-9500-a5f95003aed5¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146aŠ¦queuedÂ¤logs�§runningÂ¦output†¤bodyÚÎ<div class="pluto-docs-binding">
<span id="render_hmtl_with_pluto_display_features">render_hmtl_with_pluto_display_features</span>
<div class="markdown"><p>Same as <code>repr&#40;MIME&quot;text/html&quot;&#40;&#41;, x&#41;</code> but the <code>IOContext</code> is set up to match the one used by Pluto to render. This means that if the object being rendered wants to use <code>AbstractPlutoDingetjes.is_supported_by_display</code>, they can.</p>


</div>
</div>
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþÛÉÅ	°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146a¹depends_on_disabled_cellsÂ§runtimeÎ ÷„µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9aŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: cb2b not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#54ad28fe-ce9b-4984-9cf7-a65c3e3fec9a®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#54ad28fe-ce9b-4984-9cf7-a65c3e3fec9a¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜ9Îy°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9a¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$dcb4786a-930a-4e8a-860a-a12c7e8726c6Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg½UndefVarError: ha not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#dcb4786a-930a-4e8a-860a-a12c7e8726c6®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#dcb4786a-930a-4e8a-860a-a12c7e8726c6¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛWª°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$dcb4786a-930a-4e8a-860a-a12c7e8726c6¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$28e73db2-6c80-44c5-94cd-d5a2cc7cd935Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassignee²@skip_as_script rb²last_run_timestampËAÚþÜeË°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$28e73db2-6c80-44c5-94cd-d5a2cc7cd935¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$7f70715b-b13c-4b72-93c3-5c2c4334b809Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ"UndefVarError: â˜Žï¸�s not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#7f70715b-b13c-4b72-93c3-5c2c4334b809®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#7f70715b-b13c-4b72-93c3-5c2c4334b809¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜ3'Ä°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$7f70715b-b13c-4b72-93c3-5c2c4334b809¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$4650374e-dae2-46cb-ba91-50200621bf08Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg½UndefVarError: rb not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#4650374e-dae2-46cb-ba91-50200621bf08®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#4650374e-dae2-46cb-ba91-50200621bf08¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜ'àe°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$4650374e-dae2-46cb-ba91-50200621bf08¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$0605a0c5-1329-4e9b-916d-c74a132598e0Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ%@only_as_script (macro with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþÛ=ï‘°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$0605a0c5-1329-4e9b-916d-c74a132598e0¹depends_on_disabled_cellsÂ§runtimeÎ ¯šµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$5ac241dc-7d04-46a5-943e-6830f745e798Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ%UndefVarError: Scrubbable not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#5ac241dc-7d04-46a5-943e-6830f745e798®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#5ac241dc-7d04-46a5-943e-6830f745e798¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛQ_Ô°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$5ac241dc-7d04-46a5-943e-6830f745e798¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$8143e4f0-8d66-4c64-9b4c-68954167e803Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: wowz not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#8143e4f0-8d66-4c64-9b4c-68954167e803®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#8143e4f0-8d66-4c64-9b4c-68954167e803¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜ8*�°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$8143e4f0-8d66-4c64-9b4c-68954167e803¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$a570d7ef-72e5-49dd-92bd-e3925c896a23Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg½UndefVarError: ca not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#a570d7ef-72e5-49dd-92bd-e3925c896a23®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#a570d7ef-72e5-49dd-92bd-e3925c896a23¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛáv¸°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$a570d7ef-72e5-49dd-92bd-e3925c896a23¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$8335ad24-3ff8-4a74-862f-13a710d4acf8Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ%UndefVarError: Scrubbable not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#8335ad24-3ff8-4a74-862f-13a710d4acf8®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#8335ad24-3ff8-4a74-862f-13a710d4acf8¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛL‹°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$8335ad24-3ff8-4a74-862f-13a710d4acf8¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$87796357-5df1-4a7a-928a-5df3527b956fŠ¦queuedÂ¤logs‘ˆ¤lineÿ£msg’ÙH[32m[1m  Activating[22m[39m project at `~/.julia/environments/v1.7`
ªtext/plain§cell_idÙ$87796357-5df1-4a7a-928a-5df3527b956f¦kwargs�¢id´PlutoRunner_d1acb81e¤fileÙP/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/io/stdout.jl¥group¦stdout¥level®LogLevel(-555)§runningÂ¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþÚk°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$87796357-5df1-4a7a-928a-5df3527b956f¹depends_on_disabled_cellsÂ§runtimeÎ+K¡µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$accefce9-8508-495f-bb5e-6d3446e0c9a6Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛÊü7°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$accefce9-8508-495f-bb5e-6d3446e0c9a6¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$32ab1f69-9e16-45ad-b44d-895a564178f4Š¦queuedÂ¤logs�§runningÂ¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþÚ;Š�°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$32ab1f69-9e16-45ad-b44d-895a564178f4¹depends_on_disabled_cellsÂ§runtimeÎ ðÍµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$aa01652d-7690-4462-8bae-2d77656abc8bŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙLsyntax: extra token after end of expression

Boundaries: [34, 103, 135, 234]ªstacktrace’Œ®source_packageÀ¤file¯syntax error.jl¤func²throw_syntax_errorªcall_shortÙ#throw_syntax_error(syntax_err::Any)§inlinedÂ£urlÙbfile:///home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/display/syntax error.jl¤pathÙ[/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/display/syntax error.jl¤callÙ#throw_syntax_error(syntax_err::Any)ªlinfo_type³Core.MethodInstance¤lineÌ²­parent_moduleÀ¦from_cÂŒ®source_packageÀ¤fileÙDpersistent combine values.jl#==#aa01652d-7690-4462-8bae-2d77656abc8b¤func¼##function_wrapped_cell#1709ªcall_short¯top-level scope§inlinedÃ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#aa01652d-7690-4462-8bae-2d77656abc8b¤call¯top-level scopeªlinfo_type§Nothing¤line­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþØ…©°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$aa01652d-7690-4462-8bae-2d77656abc8b¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$9b705730-a68a-450f-99a8-11b7d302ebe0Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg½UndefVarError: ca not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#9b705730-a68a-450f-99a8-11b7d302ebe0®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#9b705730-a68a-450f-99a8-11b7d302ebe0¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛß­°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$9b705730-a68a-450f-99a8-11b7d302ebe0¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$290974ad-8c0a-48b6-a691-74ba7dc2b0f8Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ#UndefVarError: together not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#290974ad-8c0a-48b6-a691-74ba7dc2b0f8®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#290974ad-8c0a-48b6-a691-74ba7dc2b0f8¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜ&2'°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$290974ad-8c0a-48b6-a691-74ba7dc2b0f8¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$5922807c-6e49-11ec-3c79-87e011cbf088Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ�ArgumentError: Package PlutoUI not found in current path:
- Run `import Pkg; Pkg.add("PlutoUI")` to install the PlutoUI package.
ªstacktrace’Œªcall_shortÙ"require(into::Module, mod::Symbol)§inlinedÂ£urlÙehttps://github.com/JuliaLang/julia/tree/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/loading.jl#L959¤path¬./loading.jl®source_packageÀ¤callÙ"require(into::Module, mod::Symbol)ªlinfo_type³Core.MethodInstance¤lineÍÇ¤fileªloading.jl¤func§require­parent_moduleÀ¦from_cÂŒªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#5922807c-6e49-11ec-3c79-87e011cbf088®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#5922807c-6e49-11ec-3c79-87e011cbf088¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÚ®Ê`°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$5922807c-6e49-11ec-3c79-87e011cbf088¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$34cfe0dc-7bca-4c6f-99ce-96758ccbd3afŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ+UndefVarError: HypertextLiteral not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#34cfe0dc-7bca-4c6f-99ce-96758ccbd3af®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#34cfe0dc-7bca-4c6f-99ce-96758ccbd3af¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassignee¼const set_input_value_compat²last_run_timestampËAÚþÛÇæ°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$34cfe0dc-7bca-4c6f-99ce-96758ccbd3af¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$172e4393-8b3e-434e-a20a-d7748214fc23Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ®ArgumentError: Package AbstractPlutoDingetjes not found in current path:
- Run `import Pkg; Pkg.add("AbstractPlutoDingetjes")` to install the AbstractPlutoDingetjes package.
ªstacktrace’Œªcall_shortÙ"require(into::Module, mod::Symbol)§inlinedÂ£urlÙehttps://github.com/JuliaLang/julia/tree/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/loading.jl#L959¤path¬./loading.jl®source_packageÀ¤callÙ"require(into::Module, mod::Symbol)ªlinfo_type³Core.MethodInstance¤lineÍÇ¤fileªloading.jl¤func§require­parent_moduleÀ¦from_cÂŒªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#172e4393-8b3e-434e-a20a-d7748214fc23®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#172e4393-8b3e-434e-a20a-d7748214fc23¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛÃP°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$172e4393-8b3e-434e-a20a-d7748214fc23¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$845513d0-eb02-4c6a-bee9-56054d212d71Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ!UndefVarError: speeds not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#845513d0-eb02-4c6a-bee9-56054d212d71®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#845513d0-eb02-4c6a-bee9-56054d212d71¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛÿÔt°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$845513d0-eb02-4c6a-bee9-56054d212d71¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$06d6f45a-3783-4b31-8926-ff0973bcc188Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¼UndefVarError: f not definedªstacktrace’Œªcall_short¯macro expansion§inlinedÃ£urlÀ¤pathÙv/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/bonds.jl#@#==#06d6f45a-3783-4b31-8926-ff0973bcc188®source_packageÀ¤call¯macro expansionªlinfo_type§Nothing¤line}¤fileÙ2bonds.jl#@#==#06d6f45a-3783-4b31-8926-ff0973bcc188¤func¯macro expansion­parent_moduleÀ¦from_cÂŒªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#06d6f45a-3783-4b31-8926-ff0973bcc188®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#06d6f45a-3783-4b31-8926-ff0973bcc188¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛÖY�°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$06d6f45a-3783-4b31-8926-ff0973bcc188¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: vals not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#df2571b4-f42f-4609-be1f-0d5ae2dd0fb8®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#df2571b4-f42f-4609-be1f-0d5ae2dd0fb8¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛØ°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$c646e383-aebc-43ea-9c61-542166e5e455Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: Dump not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#c646e383-aebc-43ea-9c61-542166e5e455®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#c646e383-aebc-43ea-9c61-542166e5e455¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛÚö¶°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$c646e383-aebc-43ea-9c61-542166e5e455¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$dd5f2f46-f2f4-441b-b855-f6814a5b5b98Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ-<div class="markdown"><h1>Combine</h1>
</div>¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþØ®°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$dd5f2f46-f2f4-441b-b855-f6814a5b5b98¹depends_on_disabled_cellsÂ§runtimeÎ ‡bµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$321969fb-ff25-4a74-a23e-0b2a761050e7Š¦queuedÂ¤logs�§runningÂ¦output†¤body§missing¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþÛÁ\Ž°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$321969fb-ff25-4a74-a23e-0b2a761050e7¹depends_on_disabled_cellsÂ§runtimeÎ;»µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$fab701a7-7a70-4cc5-a1ad-a143b9125becŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜ/« °persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$fab701a7-7a70-4cc5-a1ad-a143b9125bec¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$9919ed90-ba6d-48d6-8f73-b9b509e88843Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassignee¢ca²last_run_timestampËAÚþÛÙ5Æ°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$9919ed90-ba6d-48d6-8f73-b9b509e88843¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$37112cd7-4f1c-4d7b-8531-59a74db71451Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÚÕ<div class="pluto-docs-binding">
<span id="combine">combine</span>
<div class="markdown"><pre><code class="language-julia">PlutoUI.combine&#40;render_function::Function&#41;</code></pre>
<p>Combine multiple input elements into one. The combined values are sent to <code>@bind</code> as a single tuple.</p>
<p><code>render_function</code> is a function that you write yourself, take a look at the examples below.</p>
<h1>Examples</h1>
<h2>ðŸ�¶ &amp; ðŸ�±</h2>
<p>We use the <a href="https://docs.julialang.org/en/v1/manual/functions/#Do-Block-Syntax-for-Function-Arguments"><code>do</code> syntax</a> to write our <code>render_function</code>. The <code>Child</code> function is wrapped around each input, to let <code>combine</code> know which values to combine.</p>
<pre><code class="language-julia">@bind values PlutoUI.combine&#40;&#41; do Child
	md&quot;&quot;&quot;
	# Hi there&#33;

	I have &#36;&#40;
		Child&#40;Slider&#40;1:10&#41;&#41;
	&#41; dogs and &#36;&#40;
		Child&#40;Slider&#40;5:100&#41;&#41;
	&#41; cats.

	Would you like to see them? &#36;&#40;Child&#40;CheckBox&#40;true&#41;&#41;&#41;
	&quot;&quot;&quot;
end

values &#61;&#61; &#40;1, 5, true&#41; # &#40;initially&#41;</code></pre>
<blockquote>
<p>The output looks like:</p>
<p><img src="https://user-images.githubusercontent.com/6933510/145589918-25a3c732-c02e-482b-831b-06131b283597.png" alt="screenshot of running the code above inside Pluto" /></p>
</blockquote>
<h2>ðŸŽ�</h2>
<p>The <code>combine</code> function is most useful when you want to generate your input elements <em>dynamically</em>. This example uses <a href="https://github.com/MechanicalRabbit/HypertextLiteral.jl">HypertextLiteral.jl</a> for the <code>@htl</code> macro:</p>
<pre><code class="language-julia">function wind_speeds&#40;directions&#41;
	PlutoUI.combine&#40;&#41; do Child
		@htl&#40;&quot;&quot;&quot;
		&lt;h6&gt;Wind speeds&lt;/h6&gt;
		&lt;ul&gt;
		&#36;&#40;&#91;
			@htl&#40;&quot;&lt;li&gt;&#36;&#40;name&#41;: &#36;&#40;Child&#40;Slider&#40;1:100&#41;&#41;&#41;&lt;/li&gt;&quot;&#41;
			for name in directions
		&#93;&#41;
		&lt;/ul&gt;
		&quot;&quot;&quot;&#41;
	end
end

@bind speeds wind_speeds&#40;&#91;&quot;North&quot;, &quot;East&quot;, &quot;South&quot;, &quot;West&quot;&#93;&#41;

speeds &#61;&#61; &#40;1, 1, 1, 1&#41; # &#40;initially&#41;

# after moving the sliders:
speeds &#61;&#61; &#40;100, 36, 73, 60&#41;</code></pre>
<blockquote>
<p>The output looks like:</p>
<p><img src="https://user-images.githubusercontent.com/6933510/145588612-14824654-5c73-45f8-983c-8913c7101a78.png" alt="screenshot of running the code above inside Pluto" /></p>
</blockquote>
<h1>Named variant</h1>
<p>In the last example, we used <code>Child</code> to wrap around contained inputs:</p>
<pre><code class="language-julia">Child&#40;Slider&#40;1:100&#41;&#41;</code></pre>
<p>We can also use the <strong>named variant</strong>, which looks like:</p>
<pre><code class="language-julia">Child&#40;&quot;East&quot;, Slider&#40;1:100&#41;&#41;</code></pre>
<p>When you use the <em>named variant</em> for all children, <strong>the bound value will be <code>NamedTuple</code>, instead of a <code>Tuple</code></strong>.</p>
<p>Let&#39;s rewrite our example to use the <em>named variant</em>:</p>
<pre><code class="language-julia">function wind_speeds&#40;directions&#41;
	PlutoUI.combine&#40;&#41; do Child
		@htl&#40;&quot;&quot;&quot;
		&lt;h6&gt;Wind speeds&lt;/h6&gt;
		&lt;ul&gt;
		&#36;&#40;&#91;
			@htl&#40;&quot;&lt;li&gt;&#36;&#40;name&#41;: &#36;&#40;Child&#40;name, Slider&#40;1:100&#41;&#41;&#41;&lt;/li&gt;&quot;&#41;
			for name in directions
		&#93;&#41;
		&lt;/ul&gt;
		&quot;&quot;&quot;&#41;
	end
end

@bind speeds wind_speeds&#40;&#91;&quot;North&quot;, &quot;East&quot;, &quot;South&quot;, &quot;West&quot;&#93;&#41;

speeds &#61;&#61; &#40;North&#61;1, East&#61;1, South&#61;1, West&#61;1&#41; # &#40;initially&#41;

# after moving the sliders:
speeds &#61;&#61; &#40;North&#61;100, East&#61;36, South&#61;73, West&#61;60&#41;

md&quot;The Eastern wind speed is &#36;&#40;speeds.East&#41;.&quot;</code></pre>
<blockquote>
<p>The output looks like:</p>
<p><img src="https://user-images.githubusercontent.com/6933510/145615489-b3fb910d-0dc1-408b-882f-b05ca0129b18.gif" alt="screenshot of running the code above inside Pluto" /></p>
</blockquote>
<h1>Why?</h1>
<h2>You can make a new widget&#33;</h2>
<p>You can use <code>combine</code> to <strong>create a brand new widget</strong> yourself, by combining existing ones&#33;</p>
<p>In the example above, we created a new widget called <code>wind_speeds</code>. You could <strong>put this function in a package</strong> &#40;e.g. <code>WeatherUI.jl</code>&#41; and people could use it like so:</p>
<pre><code class="language-julia">import WeatherUI: wind_speeds

@bind speeds wind_speeds&#40;&#91;&quot;North&quot;, &quot;East&quot;&#93;&#41;</code></pre>
<p>In other words: you can use <code>combine</code> to create application-specific UI elements, and you can put those in your package&#33;</p>
<h2>Difference with repeated <code>@bind</code></h2>
<p>The standard way to combine multiple inputs into one output is to use <code>@bind</code> multiple times. Our initial example could more easily be written as:</p>
<pre><code class="language-julia">md&quot;&quot;&quot;
# Hi there&#33;

I have &#36;&#40;@bind num_dogs Slider&#40;1:10&#41;&#41; dogs and &#36;&#40;@bind num_cats Slider&#40;5:10&#41;&#41; cats.

Would you like to see them? &#36;&#40;@bind want_to_see CheckBox&#40;true&#41;&#41;
&quot;&quot;&quot;</code></pre>
<p>The <code>combine</code> function is useful when you are generating inputs <strong>dynamically</strong>, like in our second example. This is useful when:</p>
<ul>
<li><p>The number of parameters is very large, and you don&#39;t want to write <code>@bind parameter1 ...</code>, <code>@bind parameter2 ...</code>, etc. </p>
</li>
<li><p>The number of parameters is dynamic&#33; For example, you can load in a table in one cell, and then use <code>combine</code> in another cell to select which rows you want to use.</p>
</li>
</ul>


</div>
</div>
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþÛÓ±:°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$37112cd7-4f1c-4d7b-8531-59a74db71451¹depends_on_disabled_cellsÂ§runtimeÎ çXµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$a0ae55eb-5c18-451a-896d-325f09dba6cdŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙœArgumentError: Package HypertextLiteral not found in current path:
- Run `import Pkg; Pkg.add("HypertextLiteral")` to install the HypertextLiteral package.
ªstacktrace’Œªcall_shortÙ"require(into::Module, mod::Symbol)§inlinedÂ£urlÙehttps://github.com/JuliaLang/julia/tree/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/loading.jl#L959¤path¬./loading.jl®source_packageÀ¤callÙ"require(into::Module, mod::Symbol)ªlinfo_type³Core.MethodInstance¤lineÍÇ¤fileªloading.jl¤func§require­parent_moduleÀ¦from_cÂŒªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#a0ae55eb-5c18-451a-896d-325f09dba6cd®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#a0ae55eb-5c18-451a-896d-325f09dba6cd¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÚÂ¶‘°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$a0ae55eb-5c18-451a-896d-325f09dba6cd¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$1fb3f5f0-6baf-418c-84bf-507579adb8beŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ#UndefVarError: _combine not definedªstacktrace”Œªcall_shortÙ[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})§inlinedÂ£urlÙ£https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451®source_packageÀ¤callÙ[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})ªlinfo_type³Core.MethodInstance¤lineÌ•¤fileÙDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451¤funcª#combine#3­parent_moduleÀ¦from_cÂŒªcall_short´combine(f::Function)§inlinedÂ£urlÙ£https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451®source_packageÀ¤call´combine(f::Function)ªlinfo_type³Core.MethodInstance¤lineÌ•¤fileÙDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451¤func§combine­parent_moduleÀ¦from_cÂŒªcall_short¯macro expansion§inlinedÃ£urlÀ¤pathÙv/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/bonds.jl#@#==#1fb3f5f0-6baf-418c-84bf-507579adb8be®source_packageÀ¤call¯macro expansionªlinfo_type§Nothing¤line}¤fileÙ2bonds.jl#@#==#1fb3f5f0-6baf-418c-84bf-507579adb8be¤func¯macro expansion­parent_moduleÀ¦from_cÂŒªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#1fb3f5f0-6baf-418c-84bf-507579adb8be®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#1fb3f5f0-6baf-418c-84bf-507579adb8be¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛîFé°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$1fb3f5f0-6baf-418c-84bf-507579adb8be¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$7a4716c5-07e3-49bc-bbcb-1cc38f58a053Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙC<div class="markdown"><h3>Initial value &amp; transform</h3>
</div>¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþØ˜°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$7a4716c5-07e3-49bc-bbcb-1cc38f58a053¹depends_on_disabled_cellsÂ§runtimeÎ ~åµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$8a1b06d4-29fa-443d-a7c2-f7705f770cacŠ¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ<<div class="markdown"><h3>Combine inside combine</h3>
</div>¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþØ—°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$8a1b06d4-29fa-443d-a7c2-f7705f770cac¹depends_on_disabled_cellsÂ§runtimeÎ ƒ<µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$d4a52691-6c69-4726-a119-499d6fb77fc1Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÚB<div class="pluto-docs-binding">
<span id="@skip_as_script">@skip_as_script</span>
<div class="markdown"><pre><code>@skip_as_script expression</code></pre>
<p>Marks a expression as Pluto-only, which means that it won&#39;t be executed when running outside Pluto. Do not use this for your own projects.</p>


</div>
</div>
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþÛ ‹ü°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$d4a52691-6c69-4726-a119-499d6fb77fc1¹depends_on_disabled_cellsÂ§runtimeÎ MUµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$e2234e7f-dbe1-4f95-9b51-04d20487f46aŠ¦queuedÂ¤logs�§runningÂ¦output†¤body¤true¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþÛYò¶°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$e2234e7f-dbe1-4f95-9b51-04d20487f46a¹depends_on_disabled_cellsÂ§runtimeÍ+˜µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$8fb86e46-9b31-46a9-9bde-ad263f1bae8eŠ¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ5<div class="markdown"><h1>Combining bonds</h1>
</div>¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþØÃ/°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$8fb86e46-9b31-46a9-9bde-ad263f1bae8e¹depends_on_disabled_cellsÂ§runtimeÎ }6µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$f712f428-6da4-497d-85fe-a52069c8e294Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÚ§<div class="pluto-docs-binding">
<span id="RenderCallback">RenderCallback</span>
<div class="markdown"><pre><code class="language-julia">RenderCallback&#40;callback::Function, x::Any&#41;</code></pre>
<p>An HTML display passthrough of <code>x</code> &#40;displays the same content&#41;, but when it is displayed, a callback function is invoked. <code>disable_callback&#33;</code> can remove a callback.</p>


</div>
</div>
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþÛÈR“°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$f712f428-6da4-497d-85fe-a52069c8e294¹depends_on_disabled_cellsÂ§runtimeÎ 'aÖµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$4ada86e7-e310-471d-af45-f99310b6e223Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜ,£Ê°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$4ada86e7-e310-471d-af45-f99310b6e223¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$addf4a56-5d85-4b5c-b956-8acacad79e5eŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ"UndefVarError: â˜Žï¸�c not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#addf4a56-5d85-4b5c-b956-8acacad79e5e®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#addf4a56-5d85-4b5c-b956-8acacad79e5e¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜ1g^°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$addf4a56-5d85-4b5c-b956-8acacad79e5e¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$76b5f036-6b70-4605-9063-f405b6b701fdŠ¦queuedÂ¤logs�§runningÂ¦output†¤bodyÚÈ<div class="markdown"><h1>TODO</h1>
<ul>
<li><p>get secret_id from last Combine</p>
</li>
<li><p>get last Combine, ideally during constructor</p>
</li>
<li><p>get last bond value, during constructor or intial_value</p>
</li>
</ul>
<p>Maybe</p>
<pre><code class="language-julia">Bonds.incorporate_last_bond&#40;
	just_created::T, 
	previous::T, 
	previous_value_from_js::Any
&#41;::T
</code></pre>
<p>with default <code>&#40;a,b&#41;-&gt;a</code></p>
</div>¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþØ@À°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$76b5f036-6b70-4605-9063-f405b6b701fd¹depends_on_disabled_cellsÂ§runtimeÎ 60µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$0691aa89-eac7-426e-a5c5-3cbd131f929bŠ¦queuedÂ¤logs�§runningÂ¦output†¤body¥false¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþÛI£×°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$0691aa89-eac7-426e-a5c5-3cbd131f929b¹depends_on_disabled_cellsÂ§runtimeÍA«µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ/skip_as_script (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþÛ‰ °persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91¹depends_on_disabled_cellsÂ§runtimeÎ �µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$68197884-858c-4f0c-b858-4f7f3b081ddcŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassignee¢hb²last_run_timestampËAÚþÛS“æ°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$68197884-858c-4f0c-b858-4f7f3b081ddc¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$ec0eb9eb-6716-4648-b7c7-203bd71fa64fŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ!UndefVarError: Slider not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#ec0eb9eb-6716-4648-b7c7-203bd71fa64f®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#ec0eb9eb-6716-4648-b7c7-203bd71fa64f¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛO¡°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$ec0eb9eb-6716-4648-b7c7-203bd71fa64f¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$2c2036bd-2cea-4fe0-9f44-a6522826fdc3Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ(values (generic function with 5 methods)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþÛü¡@°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$2c2036bd-2cea-4fe0-9f44-a6522826fdc3¹depends_on_disabled_cellsÂ§runtimeÍ,§µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$b4409bf0-75fd-4745-b686-079193900c27Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜ)cÔ°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$b4409bf0-75fd-4745-b686-079193900c27¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$8d1c2e47-3252-4e7b-9940-3c843e520cc6Š¦queuedÂ¤logs�§runningÂ¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþÛ>* °persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$8d1c2e47-3252-4e7b-9940-3c843e520cc6¹depends_on_disabled_cellsÂ§runtimeÎ �Ãµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$231442e3-a1bc-4285-8c23-045a9bb60d67Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ UndefVarError: it2vs not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#231442e3-a1bc-4285-8c23-045a9bb60d67®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#231442e3-a1bc-4285-8c23-045a9bb60d67¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜ+ û°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$231442e3-a1bc-4285-8c23-045a9bb60d67¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$45986edf-1a65-4712-91b9-b79a408e0782Š¦queuedÂ¤logs�§runningÂ¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþØ˜…°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$45986edf-1a65-4712-91b9-b79a408e0782¹depends_on_disabled_cellsÂ§runtimeÎ ´µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8eŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛÕ—°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8e¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$5590c2db-b49f-4116-a8a9-4ebab576e79cŠ¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ/<div class="markdown"><h2>The magic</h2>
</div>¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþØØA°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$5590c2db-b49f-4116-a8a9-4ebab576e79c¹depends_on_disabled_cellsÂ§runtimeÎ ‘­µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$5366270a-4f63-4d8a-bc4f-de36c0895a8bŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛâ®«°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$5366270a-4f63-4d8a-bc4f-de36c0895a8b¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$c527b5f8-de42-4b96-9542-3bcc0a13372dŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜBá°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$c527b5f8-de42-4b96-9542-3bcc0a13372d¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$6533a616-d778-4870-98b2-445a48f6d145Š¦queuedÂ¤logs�§runningÂ¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþØjÓ°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$6533a616-d778-4870-98b2-445a48f6d145¹depends_on_disabled_cellsÂ§runtimeÍ#ˆµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$d71251ee-ceaf-46e5-b93d-82472ee08b00Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ!UndefVarError: Slider not definedªstacktrace’Œªcall_short¯macro expansion§inlinedÃ£urlÀ¤pathÙv/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/bonds.jl#@#==#d71251ee-ceaf-46e5-b93d-82472ee08b00®source_packageÀ¤call¯macro expansionªlinfo_type§Nothing¤line}¤fileÙ2bonds.jl#@#==#d71251ee-ceaf-46e5-b93d-82472ee08b00¤func¯macro expansion­parent_moduleÀ¦from_cÂŒªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#d71251ee-ceaf-46e5-b93d-82472ee08b00®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#d71251ee-ceaf-46e5-b93d-82472ee08b00¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÚÑzx°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$d71251ee-ceaf-46e5-b93d-82472ee08b00¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$3c46ef54-0260-4269-b917-d14ce98a83f7Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassignee¢ha²last_run_timestampËAÚþÛRƒ¥°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$3c46ef54-0260-4269-b917-d14ce98a83f7¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$afc4a320-575a-4660-977b-51804160d334Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ&UndefVarError: NumberField not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#afc4a320-575a-4660-977b-51804160d334®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#afc4a320-575a-4660-977b-51804160d334¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛMß]°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$afc4a320-575a-4660-977b-51804160d334¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$25d15bbe-e29b-4383-ae47-d3ee744f80edŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ®ArgumentError: Package AbstractPlutoDingetjes not found in current path:
- Run `import Pkg; Pkg.add("AbstractPlutoDingetjes")` to install the AbstractPlutoDingetjes package.
ªstacktrace’Œªcall_shortÙ"require(into::Module, mod::Symbol)§inlinedÂ£urlÙehttps://github.com/JuliaLang/julia/tree/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/loading.jl#L959¤path¬./loading.jl®source_packageÀ¤callÙ"require(into::Module, mod::Symbol)ªlinfo_type³Core.MethodInstance¤lineÍÇ¤fileªloading.jl¤func§require­parent_moduleÀ¦from_cÂŒªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#25d15bbe-e29b-4383-ae47-d3ee744f80ed®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#25d15bbe-e29b-4383-ae47-d3ee744f80ed¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛÄÑ�°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$25d15bbe-e29b-4383-ae47-d3ee744f80ed¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg½UndefVarError: ca not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106f®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106f¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛÝè\°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106f¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$b338de96-b108-4cf5-921c-4ec71c4ee498Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙn<div class="markdown"><p>Should be <code>&#91;&#91;missing, sin&#93;, &#91;50, sin&#93;&#93;</code></p>
</div>¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþØ�0°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$b338de96-b108-4cf5-921c-4ec71c4ee498¹depends_on_disabled_cellsÂ§runtimeÎ ÕŠµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg½UndefVarError: ha not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#aed9e41b-8e9c-41b5-83f0-7cabb7feaab0®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#aed9e41b-8e9c-41b5-83f0-7cabb7feaab0¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛURa°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$0ac40588-fd45-4eef-89f1-b3552d0246a2Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ#UndefVarError: _combine not definedªstacktrace“Œªcall_shortÙ[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})§inlinedÂ£urlÙ£https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451®source_packageÀ¤callÙ[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})ªlinfo_type³Core.MethodInstance¤lineÌ•¤fileÙDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451¤funcª#combine#3­parent_moduleÀ¦from_cÂŒªcall_short´combine(f::Function)§inlinedÂ£urlÙ£https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451®source_packageÀ¤call´combine(f::Function)ªlinfo_type³Core.MethodInstance¤lineÌ•¤fileÙDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451¤func§combine­parent_moduleÀ¦from_cÂŒªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#0ac40588-fd45-4eef-89f1-b3552d0246a2®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#0ac40588-fd45-4eef-89f1-b3552d0246a2¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassignee³@skip_as_script cb1²last_run_timestampËAÚþÜ5š°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$0ac40588-fd45-4eef-89f1-b3552d0246a2¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$ef6358be-4d53-42f0-8501-f7d7d3838781Š¦queuedÂ¤logs�§runningÂ¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚþÛá’}°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$ef6358be-4d53-42f0-8501-f7d7d3838781¹depends_on_disabled_cellsÂ§runtimeÎ KIµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$ebedad7d-764b-4eb1-9e6d-559a3c033cd0Š¦queuedÂ¤logs�§runningÂ¦output†¤body…¦prefix¦Symbol¨elements“’’¥:fonsªtext/plain’’§:hannesªtext/plain’’¬:asdf_dsfsdfªtext/plain¤type¥Array¬prefix_short ¨objectid°11fcc4b242746587¤mimeÙ!application/vnd.pluto.tree+object¬rootassignee©all_names²last_run_timestampËAÚþÚýK°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$ebedad7d-764b-4eb1-9e6d-559a3c033cd0¹depends_on_disabled_cellsÂ§runtimeÍCZµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$814502c7-e9e7-4401-8465-fd11c2807e07Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ'UndefVarError: speeds_named not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#814502c7-e9e7-4401-8465-fd11c2807e07®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#814502c7-e9e7-4401-8465-fd11c2807e07¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜê-°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$814502c7-e9e7-4401-8465-fd11c2807e07¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: itvs not definedªstacktrace‘Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#f061b4d3-dc3d-444c-a4d7-9e1f6d32f281®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#f061b4d3-dc3d-444c-a4d7-9e1f6d32f281¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÜ.`°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$19a66a5a-fcd6-44dc-80de-c6c70674728bŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassignee¢cb²last_run_timestampËAÚþÛÜ)g°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$19a66a5a-fcd6-44dc-80de-c6c70674728b¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$7e9e418a-399e-4122-aab3-5f9d96e66301Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ;<bond def="asdfsdf" unique_id="n6yluUQbwXZ/"><input></bond>¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþÛu§D°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$7e9e418a-399e-4122-aab3-5f9d96e66301¹depends_on_disabled_cellsÂ§runtimeÎ,Á–µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$8d1f6bd1-2d69-4685-8590-c5f93ef9b669Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙ(UndefVarError: MultiCheckBox not definedªstacktrace’Œªcall_short¯macro expansion§inlinedÃ£urlÀ¤pathÙv/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/bonds.jl#@#==#8d1f6bd1-2d69-4685-8590-c5f93ef9b669®source_packageÀ¤call¯macro expansionªlinfo_type§Nothing¤line}¤fileÙ2bonds.jl#@#==#8d1f6bd1-2d69-4685-8590-c5f93ef9b669¤func¯macro expansion­parent_moduleÀ¦from_cÂŒªcall_short¯top-level scope§inlinedÂ£urlÀ¤pathÙz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#8d1f6bd1-2d69-4685-8590-c5f93ef9b669®source_packageÀ¤call¯top-level scopeªlinfo_type­Core.CodeInfo¤line¤fileÙDpersistent combine values.jl#==#8d1f6bd1-2d69-4685-8590-c5f93ef9b669¤func¯top-level scope­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÚÿÇ°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$8d1f6bd1-2d69-4685-8590-c5f93ef9b669¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$0a47600f-62a6-4f75-bf30-7c9f45426ce1Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ.<div class="markdown"><h2>Examples</h2>
</div>¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþØìî°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$0a47600f-62a6-4f75-bf30-7c9f45426ce1¹depends_on_disabled_cellsÂ§runtimeÎ yKµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$4b4f5148-4bb5-4c91-811b-f822f7d403c4Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛX+|°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$4b4f5148-4bb5-4c91-811b-f822f7d403c4¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$dbae3ed0-3e25-4878-bbc2-b11d480689bcŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛÉŽP°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$dbae3ed0-3e25-4878-bbc2-b11d480689bc¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$24aa7b61-1c22-4d84-b19c-4ead65ae4615Š¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛãð$°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$24aa7b61-1c22-4d84-b19c-4ead65ae4615¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$33abfc8f-1590-45cd-9d3d-6a4cf211988dŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msg¿UndefVarError: @htl not definedªstacktrace“Œªcall_short¯top-level scope§inlinedÂ£urlÀ¤path ®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line ¤file ¤func¯top-level scope­parent_moduleÀ¦from_cÂŒªcall_short¯#macroexpand#51§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call¯#macroexpand#51ªlinfo_type§Nothing¤lines¤file§expr.jl¤func¯#macroexpand#51­parent_moduleÀ¦from_cÂŒªcall_short«macroexpand§inlinedÃ£urlÀ¤path©./expr.jl®source_packageÀ¤call«macroexpandªlinfo_type§Nothing¤liner¤file§expr.jl¤func«macroexpand­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassigneeÀ²last_run_timestampËAÚþÛþ"¼°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$33abfc8f-1590-45cd-9d3d-6a4cf211988d¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃÙ$9bbe9030-86ae-490f-ae97-317ee3f05f47Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ+<div class="markdown"><h2>Tests</h2>
</div>¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚþØ¬°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$9bbe9030-86ae-490f-ae97-317ee3f05f47¹depends_on_disabled_cellsÂ§runtimeÎ n/µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂ±cell_dependenciesÞ MÙ$a10d59e8-8dae-4796-a88b-4907437164f5„´precedence_heuristic	§cell_idÙ$a10d59e8-8dae-4796-a88b-4907437164f5´downstream_cells_map‚©Base.show“Ù$f712f428-6da4-497d-85fe-a52069c8e294Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bcÙ$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146aªParameters‘Ù$a10d59e8-8dae-4796-a88b-4907437164f5²upstream_cells_map†¤Base�¢IO�ªParameters‘Ù$a10d59e8-8dae-4796-a88b-4907437164f5©@MIME_str�¦Symbol�¦Vector�Ù$3b18aa3a-4521-4b4c-9500-a5f95003aed5„´precedence_heuristic	§cell_idÙ$3b18aa3a-4521-4b4c-9500-a5f95003aed5´downstream_cells_map‚¤cb2b‘Ù$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9a¤wowz‘Ù$8143e4f0-8d66-4c64-9b4c-68954167e803²upstream_cells_mapŒ§@md_str�­Base.getindex�Ù#PlutoRunner.PlutoRunner.create_bond�¥@bind�¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¤Base�«PlutoRunner�¨CheckBox�´PlutoRunner.Base.get�£cb1‘Ù$0ac40588-fd45-4eef-89f1-b3552d0246a2§combine‘Ù$37112cd7-4f1c-4d7b-8531-59a74db71451»PlutoRunner.Core.applicable�Ù$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146a„´precedence_heuristic	§cell_idÙ$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146a´downstream_cells_map�Ù'render_hmtl_with_pluto_display_features‘Ù$accefce9-8508-495f-bb5e-6d3446e0c9a6²upstream_cells_mapŒ¤@doc�¥Tuple�©IOContext�º#___this_pluto_module_name�©@MIME_str�£Any�¢=>�¤Base�©Base.show“Ù$a10d59e8-8dae-4796-a88b-4907437164f5Ù$f712f428-6da4-497d-85fe-a52069c8e294Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bc¶AbstractPlutoDingetjes‘Ù$25d15bbe-e29b-4383-ae47-d3ee744f80ed¦sprint�¥Union�Ù$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9a„´precedence_heuristic	§cell_idÙ$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9a´downstream_cells_map€²upstream_cells_map‚¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¤cb2b‘Ù$3b18aa3a-4521-4b4c-9500-a5f95003aed5Ù$dcb4786a-930a-4e8a-860a-a12c7e8726c6„´precedence_heuristic	§cell_idÙ$dcb4786a-930a-4e8a-860a-a12c7e8726c6´downstream_cells_map€²upstream_cells_mapƒ£===�¢hb‘Ù$68197884-858c-4f0c-b858-4f7f3b081ddc¢ha‘Ù$3c46ef54-0260-4269-b917-d14ce98a83f7Ù$28e73db2-6c80-44c5-94cd-d5a2cc7cd935„´precedence_heuristic	§cell_idÙ$28e73db2-6c80-44c5-94cd-d5a2cc7cd935´downstream_cells_map€²upstream_cells_mapƒ¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¥@bind�¤@htl�Ù$7f70715b-b13c-4b72-93c3-5c2c4334b809„´precedence_heuristic	§cell_idÙ$7f70715b-b13c-4b72-93c3-5c2c4334b809´downstream_cells_map€²upstream_cells_map„¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¦â˜Žï¸��¥push!�§â˜Žï¸�s�Ù$4650374e-dae2-46cb-ba91-50200621bf08„´precedence_heuristic	§cell_idÙ$4650374e-dae2-46cb-ba91-50200621bf08´downstream_cells_map€²upstream_cells_map‚¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¢rb�Ù$0605a0c5-1329-4e9b-916d-c74a132598e0„´precedence_heuristic	§cell_idÙ$0605a0c5-1329-4e9b-916d-c74a132598e0´downstream_cells_map�¯@only_as_script�²upstream_cells_map„£esc�ª__module__�®skip_as_script‘Ù$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91§nothing�Ù$5ac241dc-7d04-46a5-943e-6830f745e798„´precedence_heuristic	§cell_idÙ$5ac241dc-7d04-46a5-943e-6830f745e798´downstream_cells_map€²upstream_cells_map‚¢==�ªScrubbable�Ù$8143e4f0-8d66-4c64-9b4c-68954167e803„´precedence_heuristic	§cell_idÙ$8143e4f0-8d66-4c64-9b4c-68954167e803´downstream_cells_map€²upstream_cells_map‚¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¤wowz‘Ù$3b18aa3a-4521-4b4c-9500-a5f95003aed5Ù$a570d7ef-72e5-49dd-92bd-e3925c896a23„´precedence_heuristic	§cell_idÙ$a570d7ef-72e5-49dd-92bd-e3925c896a23´downstream_cells_map€²upstream_cells_mapƒ¤hash�¢ca‘Ù$9919ed90-ba6d-48d6-8f73-b9b509e88843¢cb‘Ù$19a66a5a-fcd6-44dc-80de-c6c70674728bÙ$8335ad24-3ff8-4a74-862f-13a710d4acf8„´precedence_heuristic	§cell_idÙ$8335ad24-3ff8-4a74-862f-13a710d4acf8´downstream_cells_map€²upstream_cells_mapƒ¡:�¢==�ªScrubbable�Ù$87796357-5df1-4a7a-928a-5df3527b956f„´precedence_heuristic§cell_idÙ$87796357-5df1-4a7a-928a-5df3527b956f´downstream_cells_map€²upstream_cells_map‚£Pkg‘Ù$32ab1f69-9e16-45ad-b44d-895a564178f4¬Pkg.activate�Ù$accefce9-8508-495f-bb5e-6d3446e0c9a6„´precedence_heuristic	§cell_idÙ$accefce9-8508-495f-bb5e-6d3446e0c9a6´downstream_cells_map�¨_combine‘Ù$37112cd7-4f1c-4d7b-8531-59a74db71451²upstream_cells_mapÞ §@assert�­CombinedBonds�¥tuple�¦String�¤@htl�Ù'render_hmtl_with_pluto_display_features‘Ù$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146a§nothing�¦length�¥throw�®AssertionError�§isempty�¢==�¡:�¤Bool�¤rand�¨Function�¦Symbol�±disable_callback!‘Ù$f712f428-6da4-497d-85fe-a52069c8e294¥push!�¤HTML�¥Union�®RenderCallback‘Ù$f712f428-6da4-497d-85fe-a52069c8e294Ù$32ab1f69-9e16-45ad-b44d-895a564178f4„´precedence_heuristic§cell_idÙ$32ab1f69-9e16-45ad-b44d-895a564178f4´downstream_cells_map�£Pkg‘Ù$87796357-5df1-4a7a-928a-5df3527b956f²upstream_cells_map€Ù$aa01652d-7690-4462-8bae-2d77656abc8b„´precedence_heuristic	§cell_idÙ$aa01652d-7690-4462-8bae-2d77656abc8b´downstream_cells_map€²upstream_cells_map‚«PlutoRunner�¾PlutoRunner.throw_syntax_error�Ù$9b705730-a68a-450f-99a8-11b7d302ebe0„´precedence_heuristic	§cell_idÙ$9b705730-a68a-450f-99a8-11b7d302ebe0´downstream_cells_map€²upstream_cells_mapƒ£===�¢ca‘Ù$9919ed90-ba6d-48d6-8f73-b9b509e88843¢cb‘Ù$19a66a5a-fcd6-44dc-80de-c6c70674728bÙ$290974ad-8c0a-48b6-a691-74ba7dc2b0f8„´precedence_heuristic	§cell_idÙ$290974ad-8c0a-48b6-a691-74ba7dc2b0f8´downstream_cells_map€²upstream_cells_mapƒ¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¥sleep�¨together�Ù$5922807c-6e49-11ec-3c79-87e011cbf088„´precedence_heuristic§cell_idÙ$5922807c-6e49-11ec-3c79-87e011cbf088´downstream_cells_map�§PlutoUI�²upstream_cells_map€Ù$34cfe0dc-7bca-4c6f-99ce-96758ccbd3af„´precedence_heuristic	§cell_idÙ$34cfe0dc-7bca-4c6f-99ce-96758ccbd3af´downstream_cells_map�¶set_input_value_compat�²upstream_cells_map‚»HypertextLiteral.JavaScript�°HypertextLiteral‘Ù$a0ae55eb-5c18-451a-896d-325f09dba6cdÙ$172e4393-8b3e-434e-a20a-d7748214fc23„´precedence_heuristic	§cell_idÙ$172e4393-8b3e-434e-a20a-d7748214fc23´downstream_cells_map�¥Bonds‘Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bc²upstream_cells_map€Ù$845513d0-eb02-4c6a-bee9-56054d212d71„´precedence_heuristic	§cell_idÙ$845513d0-eb02-4c6a-bee9-56054d212d71´downstream_cells_map€²upstream_cells_map‚¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¦speeds�Ù$06d6f45a-3783-4b31-8926-ff0973bcc188„´precedence_heuristic	§cell_idÙ$06d6f45a-3783-4b31-8926-ff0973bcc188´downstream_cells_map�¤vals‘Ù$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8²upstream_cells_map‰¤Core�¡f‘Ù$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8e¤Base�·PlutoRunner.create_bond�«PlutoRunner�¯Core.applicable�¥@bind�¬chosen_names‘Ù$8d1f6bd1-2d69-4685-8590-c5f93ef9b669¨Base.get�Ù$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8„´precedence_heuristic	§cell_idÙ$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8´downstream_cells_map€²upstream_cells_map�¤vals‘Ù$06d6f45a-3783-4b31-8926-ff0973bcc188Ù$c646e383-aebc-43ea-9c61-542166e5e455„´precedence_heuristic	§cell_idÙ$c646e383-aebc-43ea-9c61-542166e5e455´downstream_cells_map€²upstream_cells_map‚¤Dump�¢ca‘Ù$9919ed90-ba6d-48d6-8f73-b9b509e88843Ù$dd5f2f46-f2f4-441b-b855-f6814a5b5b98„´precedence_heuristic	§cell_idÙ$dd5f2f46-f2f4-441b-b855-f6814a5b5b98´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$321969fb-ff25-4a74-a23e-0b2a761050e7„´precedence_heuristic	§cell_idÙ$321969fb-ff25-4a74-a23e-0b2a761050e7´downstream_cells_map€²upstream_cells_map‚¥sleep�§asdfsdf‘Ù$7e9e418a-399e-4122-aab3-5f9d96e66301Ù$fab701a7-7a70-4cc5-a1ad-a143b9125bec„´precedence_heuristic	§cell_idÙ$fab701a7-7a70-4cc5-a1ad-a143b9125bec´downstream_cells_map€²upstream_cells_mapƒ¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¥@bind�¤@htl�Ù$9919ed90-ba6d-48d6-8f73-b9b509e88843„´precedence_heuristic	§cell_idÙ$9919ed90-ba6d-48d6-8f73-b9b509e88843´downstream_cells_map�¢ca”Ù$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fÙ$9b705730-a68a-450f-99a8-11b7d302ebe0Ù$a570d7ef-72e5-49dd-92bd-e3925c896a23Ù$c646e383-aebc-43ea-9c61-542166e5e455²upstream_cells_map‚§combine‘Ù$37112cd7-4f1c-4d7b-8531-59a74db71451¤@htl�Ù$37112cd7-4f1c-4d7b-8531-59a74db71451„´precedence_heuristic	§cell_idÙ$37112cd7-4f1c-4d7b-8531-59a74db71451´downstream_cells_map�§combine—Ù$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8eÙ$9919ed90-ba6d-48d6-8f73-b9b509e88843Ù$19a66a5a-fcd6-44dc-80de-c6c70674728bÙ$ef6358be-4d53-42f0-8501-f7d7d3838781Ù$1fb3f5f0-6baf-418c-84bf-507579adb8beÙ$0ac40588-fd45-4eef-89f1-b3552d0246a2Ù$3b18aa3a-4521-4b4c-9500-a5f95003aed5²upstream_cells_map†¤@doc�¨_combine‘Ù$accefce9-8508-495f-bb5e-6d3446e0c9a6¥Tuple�¥Union�º#___this_pluto_module_name�¨Function�Ù$a0ae55eb-5c18-451a-896d-325f09dba6cd„´precedence_heuristic§cell_idÙ$a0ae55eb-5c18-451a-896d-325f09dba6cd´downstream_cells_map�°HypertextLiteral‘Ù$34cfe0dc-7bca-4c6f-99ce-96758ccbd3af²upstream_cells_map€Ù$1fb3f5f0-6baf-418c-84bf-507579adb8be„´precedence_heuristic	§cell_idÙ$1fb3f5f0-6baf-418c-84bf-507579adb8be´downstream_cells_map�¦values‘Ù$2c2036bd-2cea-4fe0-9f44-a6522826fdc3²upstream_cells_map�§@md_str�­Base.getindex�¡:�Ù#PlutoRunner.PlutoRunner.create_bond�¥@bind�¦Slider�¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¤Base�«PlutoRunner�¨CheckBox�´PlutoRunner.Base.get�§combine‘Ù$37112cd7-4f1c-4d7b-8531-59a74db71451»PlutoRunner.Core.applicable�Ù$7a4716c5-07e3-49bc-bbcb-1cc38f58a053„´precedence_heuristic	§cell_idÙ$7a4716c5-07e3-49bc-bbcb-1cc38f58a053´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$8a1b06d4-29fa-443d-a7c2-f7705f770cac„´precedence_heuristic	§cell_idÙ$8a1b06d4-29fa-443d-a7c2-f7705f770cac´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$d4a52691-6c69-4726-a119-499d6fb77fc1„´precedence_heuristic	§cell_idÙ$d4a52691-6c69-4726-a119-499d6fb77fc1´downstream_cells_map�¯@skip_as_scriptÜ Ù$1fb3f5f0-6baf-418c-84bf-507579adb8beÙ$2c2036bd-2cea-4fe0-9f44-a6522826fdc3Ù$33abfc8f-1590-45cd-9d3d-6a4cf211988dÙ$845513d0-eb02-4c6a-bee9-56054d212d71Ù$c527b5f8-de42-4b96-9542-3bcc0a13372dÙ$814502c7-e9e7-4401-8465-fd11c2807e07Ù$28e73db2-6c80-44c5-94cd-d5a2cc7cd935Ù$290974ad-8c0a-48b6-a691-74ba7dc2b0f8Ù$4650374e-dae2-46cb-ba91-50200621bf08Ù$b4409bf0-75fd-4745-b686-079193900c27Ù$231442e3-a1bc-4285-8c23-045a9bb60d67Ù$4ada86e7-e310-471d-af45-f99310b6e223Ù$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281Ù$fab701a7-7a70-4cc5-a1ad-a143b9125becÙ$addf4a56-5d85-4b5c-b956-8acacad79e5eÙ$7f70715b-b13c-4b72-93c3-5c2c4334b809Ù$0ac40588-fd45-4eef-89f1-b3552d0246a2Ù$3b18aa3a-4521-4b4c-9500-a5f95003aed5Ù$8143e4f0-8d66-4c64-9b4c-68954167e803Ù$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9a²upstream_cells_mapˆ¤@doc�¥Tuple�£esc�¥Union�º#___this_pluto_module_name�ª__module__�£Any�§nothing�Ù$e2234e7f-dbe1-4f95-9b51-04d20487f46a„´precedence_heuristic	§cell_idÙ$e2234e7f-dbe1-4f95-9b51-04d20487f46a´downstream_cells_map€²upstream_cells_map�¢==�Ù$8fb86e46-9b31-46a9-9bde-ad263f1bae8e„´precedence_heuristic	§cell_idÙ$8fb86e46-9b31-46a9-9bde-ad263f1bae8e´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$f712f428-6da4-497d-85fe-a52069c8e294„´precedence_heuristic	§cell_idÙ$f712f428-6da4-497d-85fe-a52069c8e294´downstream_cells_mapƒ©Base.show“Ù$f712f428-6da4-497d-85fe-a52069c8e294Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bcÙ$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146a®RenderCallback”Ù$f712f428-6da4-497d-85fe-a52069c8e294Ù$accefce9-8508-495f-bb5e-6d3446e0c9a6Ù$5366270a-4f63-4d8a-bc4f-de36c0895a8bÙ$24aa7b61-1c22-4d84-b19c-4ead65ae4615±disable_callback!’Ù$accefce9-8508-495f-bb5e-6d3446e0c9a6Ù$24aa7b61-1c22-4d84-b19c-4ead65ae4615²upstream_cells_map�¤@doc�¢IO�§Nothing�º#___this_pluto_module_name�©@MIME_str�£Any�¨Function�§nothing�¤Base�©Base.show“Ù$a10d59e8-8dae-4796-a88b-4907437164f5Ù$f712f428-6da4-497d-85fe-a52069c8e294Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bc£===�¥Union�£Ref�£!==�®RenderCallback‘Ù$f712f428-6da4-497d-85fe-a52069c8e294Ù$4ada86e7-e310-471d-af45-f99310b6e223„´precedence_heuristic	§cell_idÙ$4ada86e7-e310-471d-af45-f99310b6e223´downstream_cells_map€²upstream_cells_mapƒ¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¥@bind�¤@htl�Ù$addf4a56-5d85-4b5c-b956-8acacad79e5e„´precedence_heuristic	§cell_idÙ$addf4a56-5d85-4b5c-b956-8acacad79e5e´downstream_cells_map€²upstream_cells_map‚¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1§â˜Žï¸�c�Ù$76b5f036-6b70-4605-9063-f405b6b701fd„´precedence_heuristic	§cell_idÙ$76b5f036-6b70-4605-9063-f405b6b701fd´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$0691aa89-eac7-426e-a5c5-3cbd131f929b„´precedence_heuristic	§cell_idÙ$0691aa89-eac7-426e-a5c5-3cbd131f929b´downstream_cells_map€²upstream_cells_map‚¡A‘Ù$8d1c2e47-3252-4e7b-9940-3c843e520cc6¢==�Ù$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91„´precedence_heuristic	§cell_idÙ$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91´downstream_cells_map�®skip_as_script‘Ù$0605a0c5-1329-4e9b-916d-c74a132598e0²upstream_cells_map…¦Module�¤Main�¬parentmodule�¢==�©isdefined�Ù$68197884-858c-4f0c-b858-4f7f3b081ddc„´precedence_heuristic	§cell_idÙ$68197884-858c-4f0c-b858-4f7f3b081ddc´downstream_cells_map�¢hb’Ù$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0Ù$dcb4786a-930a-4e8a-860a-a12c7e8726c6²upstream_cells_map�¤@htl�Ù$ec0eb9eb-6716-4648-b7c7-203bd71fa64f„´precedence_heuristic	§cell_idÙ$ec0eb9eb-6716-4648-b7c7-203bd71fa64f´downstream_cells_map€²upstream_cells_mapƒ¡:�¢==�¦Slider�Ù$2c2036bd-2cea-4fe0-9f44-a6522826fdc3„´precedence_heuristic	§cell_idÙ$2c2036bd-2cea-4fe0-9f44-a6522826fdc3´downstream_cells_map€²upstream_cells_map‚¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¦values‘Ù$1fb3f5f0-6baf-418c-84bf-507579adb8beÙ$b4409bf0-75fd-4745-b686-079193900c27„´precedence_heuristic	§cell_idÙ$b4409bf0-75fd-4745-b686-079193900c27´downstream_cells_map€²upstream_cells_mapƒ¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¥@bind�¤@htl�Ù$8d1c2e47-3252-4e7b-9940-3c843e520cc6„´precedence_heuristic	§cell_idÙ$8d1c2e47-3252-4e7b-9940-3c843e520cc6´downstream_cells_map�¡A‘Ù$0691aa89-eac7-426e-a5c5-3cbd131f929b²upstream_cells_map€Ù$231442e3-a1bc-4285-8c23-045a9bb60d67„´precedence_heuristic	§cell_idÙ$231442e3-a1bc-4285-8c23-045a9bb60d67´downstream_cells_map€²upstream_cells_map„¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¥push!�¤it2v�¥it2vs�Ù$45986edf-1a65-4712-91b9-b79a408e0782„´precedence_heuristic	§cell_idÙ$45986edf-1a65-4712-91b9-b79a408e0782´downstream_cells_map€²upstream_cells_map€Ù$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8e„´precedence_heuristic	§cell_idÙ$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8e´downstream_cells_map�¡f‘Ù$06d6f45a-3783-4b31-8926-ff0973bcc188²upstream_cells_map‚§combine‘Ù$37112cd7-4f1c-4d7b-8531-59a74db71451¤@htl�Ù$5590c2db-b49f-4116-a8a9-4ebab576e79c„´precedence_heuristic	§cell_idÙ$5590c2db-b49f-4116-a8a9-4ebab576e79c´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$5366270a-4f63-4d8a-bc4f-de36c0895a8b„´precedence_heuristic	§cell_idÙ$5366270a-4f63-4d8a-bc4f-de36c0895a8b´downstream_cells_map€²upstream_cells_mapƒ®RenderCallback‘Ù$f712f428-6da4-497d-85fe-a52069c8e294¤@htl�§nothing�Ù$c527b5f8-de42-4b96-9542-3bcc0a13372d„´precedence_heuristic	§cell_idÙ$c527b5f8-de42-4b96-9542-3bcc0a13372d´downstream_cells_map€²upstream_cells_mapƒ¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¥@bind�¤@htl�Ù$6533a616-d778-4870-98b2-445a48f6d145„´precedence_heuristic	§cell_idÙ$6533a616-d778-4870-98b2-445a48f6d145´downstream_cells_map€²upstream_cells_map€Ù$d71251ee-ceaf-46e5-b93d-82472ee08b00„´precedence_heuristic	§cell_idÙ$d71251ee-ceaf-46e5-b93d-82472ee08b00´downstream_cells_map�¡x�²upstream_cells_map‰¤Core�¤Base�¡:�·PlutoRunner.create_bond�«PlutoRunner�¯Core.applicable�¥@bind�¨Base.get�¦Slider�Ù$3c46ef54-0260-4269-b917-d14ce98a83f7„´precedence_heuristic	§cell_idÙ$3c46ef54-0260-4269-b917-d14ce98a83f7´downstream_cells_map�¢ha’Ù$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0Ù$dcb4786a-930a-4e8a-860a-a12c7e8726c6²upstream_cells_map�¤@htl�Ù$afc4a320-575a-4660-977b-51804160d334„´precedence_heuristic	§cell_idÙ$afc4a320-575a-4660-977b-51804160d334´downstream_cells_map€²upstream_cells_mapƒ¡:�«NumberField�¢==�Ù$25d15bbe-e29b-4383-ae47-d3ee744f80ed„´precedence_heuristic	§cell_idÙ$25d15bbe-e29b-4383-ae47-d3ee744f80ed´downstream_cells_map�¶AbstractPlutoDingetjes’Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bcÙ$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146a²upstream_cells_map€Ù$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106f„´precedence_heuristic	§cell_idÙ$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106f´downstream_cells_map€²upstream_cells_mapƒ¢ca‘Ù$9919ed90-ba6d-48d6-8f73-b9b509e88843¢==�¢cb‘Ù$19a66a5a-fcd6-44dc-80de-c6c70674728bÙ$b338de96-b108-4cf5-921c-4ec71c4ee498„´precedence_heuristic	§cell_idÙ$b338de96-b108-4cf5-921c-4ec71c4ee498´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0„´precedence_heuristic	§cell_idÙ$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0´downstream_cells_map€²upstream_cells_mapƒ¢hb‘Ù$68197884-858c-4f0c-b858-4f7f3b081ddc¢ha‘Ù$3c46ef54-0260-4269-b917-d14ce98a83f7¢==�Ù$0ac40588-fd45-4eef-89f1-b3552d0246a2„´precedence_heuristic	§cell_idÙ$0ac40588-fd45-4eef-89f1-b3552d0246a2´downstream_cells_map�£cb1‘Ù$3b18aa3a-4521-4b4c-9500-a5f95003aed5²upstream_cells_mapˆ§@md_str�­Base.getindex�¤Base�¡:�¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1§combine‘Ù$37112cd7-4f1c-4d7b-8531-59a74db71451¦Slider�ªScrubbable�Ù$ef6358be-4d53-42f0-8501-f7d7d3838781„´precedence_heuristic	§cell_idÙ$ef6358be-4d53-42f0-8501-f7d7d3838781´downstream_cells_map€²upstream_cells_map�§combine‘Ù$37112cd7-4f1c-4d7b-8531-59a74db71451Ù$ebedad7d-764b-4eb1-9e6d-559a3c033cd0„´precedence_heuristic	§cell_idÙ$ebedad7d-764b-4eb1-9e6d-559a3c033cd0´downstream_cells_map�©all_names‘Ù$8d1f6bd1-2d69-4685-8590-c5f93ef9b669²upstream_cells_map€Ù$814502c7-e9e7-4401-8465-fd11c2807e07„´precedence_heuristic	§cell_idÙ$814502c7-e9e7-4401-8465-fd11c2807e07´downstream_cells_map€²upstream_cells_map‚¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¬speeds_named�Ù$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281„´precedence_heuristic	§cell_idÙ$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281´downstream_cells_map€²upstream_cells_map„¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¥push!�¤itvs�£itv�Ù$19a66a5a-fcd6-44dc-80de-c6c70674728b„´precedence_heuristic	§cell_idÙ$19a66a5a-fcd6-44dc-80de-c6c70674728b´downstream_cells_map�¢cb“Ù$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fÙ$9b705730-a68a-450f-99a8-11b7d302ebe0Ù$a570d7ef-72e5-49dd-92bd-e3925c896a23²upstream_cells_map‚§combine‘Ù$37112cd7-4f1c-4d7b-8531-59a74db71451¤@htl�Ù$7e9e418a-399e-4122-aab3-5f9d96e66301„´precedence_heuristic	§cell_idÙ$7e9e418a-399e-4122-aab3-5f9d96e66301´downstream_cells_map�§asdfsdf‘Ù$321969fb-ff25-4a74-a23e-0b2a761050e7²upstream_cells_mapˆ¤Base�´PlutoRunner.Base.get�©@html_str�Ù#PlutoRunner.PlutoRunner.create_bond�«PlutoRunner�®Base.Docs.HTML�¥@bind�»PlutoRunner.Core.applicable�Ù$8d1f6bd1-2d69-4685-8590-c5f93ef9b669„´precedence_heuristic	§cell_idÙ$8d1f6bd1-2d69-4685-8590-c5f93ef9b669´downstream_cells_map�¬chosen_names‘Ù$06d6f45a-3783-4b31-8926-ff0973bcc188²upstream_cells_mapŠ¤Core�¤Base�¡:�·PlutoRunner.create_bond�«PlutoRunner�­MultiCheckBox�¯Core.applicable�¥@bind�¨Base.get�©all_names‘Ù$ebedad7d-764b-4eb1-9e6d-559a3c033cd0Ù$0a47600f-62a6-4f75-bf30-7c9f45426ce1„´precedence_heuristic	§cell_idÙ$0a47600f-62a6-4f75-bf30-7c9f45426ce1´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$4b4f5148-4bb5-4c91-811b-f822f7d403c4„´precedence_heuristic	§cell_idÙ$4b4f5148-4bb5-4c91-811b-f822f7d403c4´downstream_cells_map€²upstream_cells_map‚¢==�¤@htl�Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bc„´precedence_heuristic	§cell_idÙ$dbae3ed0-3e25-4878-bbc2-b11d480689bc´downstream_cells_map„´Bonds.validate_value�©Base.show“Ù$f712f428-6da4-497d-85fe-a52069c8e294Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bcÙ$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146aµBonds.transform_value�³Bonds.initial_value‘Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bc²upstream_cells_mapÞ ¢IO�§@assert�¡!�¥tuple�­CombinedBonds�£zip�¤@htl�§nothing�¦length�ªNamedTuple�¦Vector�©Base.show“Ù$a10d59e8-8dae-4796-a88b-4907437164f5Ù$f712f428-6da4-497d-85fe-a52069c8e294Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bc¥throw�®AssertionError�¢==�Ù.AbstractPlutoDingetjes.is_supported_by_display�©@MIME_str�«Base.@kwdef�³Bonds.initial_value‘Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bc£all�£isa�¤Base�£===�¤HTML�¶AbstractPlutoDingetjes‘Ù$25d15bbe-e29b-4383-ae47-d3ee744f80ed¥Bonds‘Ù$172e4393-8b3e-434e-a20a-d7748214fc23Ù$24aa7b61-1c22-4d84-b19c-4ead65ae4615„´precedence_heuristic	§cell_idÙ$24aa7b61-1c22-4d84-b19c-4ead65ae4615´downstream_cells_map€²upstream_cells_map†¥push!�©@MIME_str�¤repr�®RenderCallback‘Ù$f712f428-6da4-497d-85fe-a52069c8e294¤@htl�±disable_callback!‘Ù$f712f428-6da4-497d-85fe-a52069c8e294Ù$33abfc8f-1590-45cd-9d3d-6a4cf211988d„´precedence_heuristic	§cell_idÙ$33abfc8f-1590-45cd-9d3d-6a4cf211988d´downstream_cells_map€²upstream_cells_mapƒ¯@skip_as_script‘Ù$d4a52691-6c69-4726-a119-499d6fb77fc1¥@bind�¤@htl�Ù$9bbe9030-86ae-490f-ae97-317ee3f05f47„´precedence_heuristic	§cell_idÙ$9bbe9030-86ae-490f-ae97-317ee3f05f47´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�´cell_execution_orderÜ MÙ$32ab1f69-9e16-45ad-b44d-895a564178f4Ù$87796357-5df1-4a7a-928a-5df3527b956fÙ$5922807c-6e49-11ec-3c79-87e011cbf088Ù$a0ae55eb-5c18-451a-896d-325f09dba6cdÙ$76b5f036-6b70-4605-9063-f405b6b701fdÙ$d71251ee-ceaf-46e5-b93d-82472ee08b00Ù$aa01652d-7690-4462-8bae-2d77656abc8bÙ$ebedad7d-764b-4eb1-9e6d-559a3c033cd0Ù$8d1f6bd1-2d69-4685-8590-c5f93ef9b669Ù$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91Ù$d4a52691-6c69-4726-a119-499d6fb77fc1Ù$0605a0c5-1329-4e9b-916d-c74a132598e0Ù$8d1c2e47-3252-4e7b-9940-3c843e520cc6Ù$0691aa89-eac7-426e-a5c5-3cbd131f929bÙ$a10d59e8-8dae-4796-a88b-4907437164f5Ù$8335ad24-3ff8-4a74-862f-13a710d4acf8Ù$afc4a320-575a-4660-977b-51804160d334Ù$ec0eb9eb-6716-4648-b7c7-203bd71fa64fÙ$5ac241dc-7d04-46a5-943e-6830f745e798Ù$3c46ef54-0260-4269-b917-d14ce98a83f7Ù$68197884-858c-4f0c-b858-4f7f3b081ddcÙ$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0Ù$dcb4786a-930a-4e8a-860a-a12c7e8726c6Ù$4b4f5148-4bb5-4c91-811b-f822f7d403c4Ù$e2234e7f-dbe1-4f95-9b51-04d20487f46aÙ$45986edf-1a65-4712-91b9-b79a408e0782Ù$7e9e418a-399e-4122-aab3-5f9d96e66301Ù$321969fb-ff25-4a74-a23e-0b2a761050e7Ù$dd5f2f46-f2f4-441b-b855-f6814a5b5b98Ù$172e4393-8b3e-434e-a20a-d7748214fc23Ù$25d15bbe-e29b-4383-ae47-d3ee744f80edÙ$8fb86e46-9b31-46a9-9bde-ad263f1bae8eÙ$5590c2db-b49f-4116-a8a9-4ebab576e79cÙ$34cfe0dc-7bca-4c6f-99ce-96758ccbd3afÙ$dbae3ed0-3e25-4878-bbc2-b11d480689bcÙ$f712f428-6da4-497d-85fe-a52069c8e294Ù$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146aÙ$accefce9-8508-495f-bb5e-6d3446e0c9a6Ù$37112cd7-4f1c-4d7b-8531-59a74db71451Ù$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8eÙ$06d6f45a-3783-4b31-8926-ff0973bcc188Ù$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8Ù$9919ed90-ba6d-48d6-8f73-b9b509e88843Ù$c646e383-aebc-43ea-9c61-542166e5e455Ù$19a66a5a-fcd6-44dc-80de-c6c70674728bÙ$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fÙ$9b705730-a68a-450f-99a8-11b7d302ebe0Ù$a570d7ef-72e5-49dd-92bd-e3925c896a23Ù$ef6358be-4d53-42f0-8501-f7d7d3838781Ù$5366270a-4f63-4d8a-bc4f-de36c0895a8bÙ$24aa7b61-1c22-4d84-b19c-4ead65ae4615Ù$0a47600f-62a6-4f75-bf30-7c9f45426ce1Ù$1fb3f5f0-6baf-418c-84bf-507579adb8beÙ$2c2036bd-2cea-4fe0-9f44-a6522826fdc3Ù$33abfc8f-1590-45cd-9d3d-6a4cf211988dÙ$845513d0-eb02-4c6a-bee9-56054d212d71Ù$c527b5f8-de42-4b96-9542-3bcc0a13372dÙ$814502c7-e9e7-4401-8465-fd11c2807e07Ù$28e73db2-6c80-44c5-94cd-d5a2cc7cd935Ù$290974ad-8c0a-48b6-a691-74ba7dc2b0f8Ù$4650374e-dae2-46cb-ba91-50200621bf08Ù$9bbe9030-86ae-490f-ae97-317ee3f05f47Ù$7a4716c5-07e3-49bc-bbcb-1cc38f58a053Ù$b4409bf0-75fd-4745-b686-079193900c27Ù$231442e3-a1bc-4285-8c23-045a9bb60d67Ù$4ada86e7-e310-471d-af45-f99310b6e223Ù$6533a616-d778-4870-98b2-445a48f6d145Ù$b338de96-b108-4cf5-921c-4ec71c4ee498Ù$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281Ù$fab701a7-7a70-4cc5-a1ad-a143b9125becÙ$addf4a56-5d85-4b5c-b956-8acacad79e5eÙ$7f70715b-b13c-4b72-93c3-5c2c4334b809Ù$8a1b06d4-29fa-443d-a7c2-f7705f770cacÙ$0ac40588-fd45-4eef-89f1-b3552d0246a2Ù$3b18aa3a-4521-4b4c-9500-a5f95003aed5Ù$8143e4f0-8d66-4c64-9b4c-68954167e803Ù$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9a´last_hot_reload_timeË        ©shortpath¼persistent combine values.jl®process_status¥ready¤pathÙR/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl­pluto_version¨v0.19.47®last_save_timeËAÚþØIªcell_orderÜ MÙ$76b5f036-6b70-4605-9063-f405b6b701fdÙ$d71251ee-ceaf-46e5-b93d-82472ee08b00Ù$aa01652d-7690-4462-8bae-2d77656abc8bÙ$ebedad7d-764b-4eb1-9e6d-559a3c033cd0Ù$8d1f6bd1-2d69-4685-8590-c5f93ef9b669Ù$06d6f45a-3783-4b31-8926-ff0973bcc188Ù$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8Ù$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91Ù$d4a52691-6c69-4726-a119-499d6fb77fc1Ù$0605a0c5-1329-4e9b-916d-c74a132598e0Ù$32ab1f69-9e16-45ad-b44d-895a564178f4Ù$87796357-5df1-4a7a-928a-5df3527b956fÙ$5922807c-6e49-11ec-3c79-87e011cbf088Ù$a0ae55eb-5c18-451a-896d-325f09dba6cdÙ$8d1c2e47-3252-4e7b-9940-3c843e520cc6Ù$0691aa89-eac7-426e-a5c5-3cbd131f929bÙ$a10d59e8-8dae-4796-a88b-4907437164f5Ù$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8eÙ$8335ad24-3ff8-4a74-862f-13a710d4acf8Ù$afc4a320-575a-4660-977b-51804160d334Ù$ec0eb9eb-6716-4648-b7c7-203bd71fa64fÙ$5ac241dc-7d04-46a5-943e-6830f745e798Ù$9919ed90-ba6d-48d6-8f73-b9b509e88843Ù$19a66a5a-fcd6-44dc-80de-c6c70674728bÙ$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fÙ$9b705730-a68a-450f-99a8-11b7d302ebe0Ù$a570d7ef-72e5-49dd-92bd-e3925c896a23Ù$c646e383-aebc-43ea-9c61-542166e5e455Ù$3c46ef54-0260-4269-b917-d14ce98a83f7Ù$68197884-858c-4f0c-b858-4f7f3b081ddcÙ$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0Ù$dcb4786a-930a-4e8a-860a-a12c7e8726c6Ù$4b4f5148-4bb5-4c91-811b-f822f7d403c4Ù$e2234e7f-dbe1-4f95-9b51-04d20487f46aÙ$45986edf-1a65-4712-91b9-b79a408e0782Ù$7e9e418a-399e-4122-aab3-5f9d96e66301Ù$321969fb-ff25-4a74-a23e-0b2a761050e7Ù$dd5f2f46-f2f4-441b-b855-f6814a5b5b98Ù$172e4393-8b3e-434e-a20a-d7748214fc23Ù$25d15bbe-e29b-4383-ae47-d3ee744f80edÙ$8fb86e46-9b31-46a9-9bde-ad263f1bae8eÙ$5590c2db-b49f-4116-a8a9-4ebab576e79cÙ$34cfe0dc-7bca-4c6f-99ce-96758ccbd3afÙ$f712f428-6da4-497d-85fe-a52069c8e294Ù$dbae3ed0-3e25-4878-bbc2-b11d480689bcÙ$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146aÙ$accefce9-8508-495f-bb5e-6d3446e0c9a6Ù$37112cd7-4f1c-4d7b-8531-59a74db71451Ù$ef6358be-4d53-42f0-8501-f7d7d3838781Ù$5366270a-4f63-4d8a-bc4f-de36c0895a8bÙ$24aa7b61-1c22-4d84-b19c-4ead65ae4615Ù$0a47600f-62a6-4f75-bf30-7c9f45426ce1Ù$1fb3f5f0-6baf-418c-84bf-507579adb8beÙ$2c2036bd-2cea-4fe0-9f44-a6522826fdc3Ù$33abfc8f-1590-45cd-9d3d-6a4cf211988dÙ$845513d0-eb02-4c6a-bee9-56054d212d71Ù$c527b5f8-de42-4b96-9542-3bcc0a13372dÙ$814502c7-e9e7-4401-8465-fd11c2807e07Ù$28e73db2-6c80-44c5-94cd-d5a2cc7cd935Ù$290974ad-8c0a-48b6-a691-74ba7dc2b0f8Ù$4650374e-dae2-46cb-ba91-50200621bf08Ù$9bbe9030-86ae-490f-ae97-317ee3f05f47Ù$7a4716c5-07e3-49bc-bbcb-1cc38f58a053Ù$b4409bf0-75fd-4745-b686-079193900c27Ù$231442e3-a1bc-4285-8c23-045a9bb60d67Ù$4ada86e7-e310-471d-af45-f99310b6e223Ù$6533a616-d778-4870-98b2-445a48f6d145Ù$b338de96-b108-4cf5-921c-4ec71c4ee498Ù$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281Ù$fab701a7-7a70-4cc5-a1ad-a143b9125becÙ$addf4a56-5d85-4b5c-b956-8acacad79e5eÙ$7f70715b-b13c-4b72-93c3-5c2c4334b809Ù$8a1b06d4-29fa-443d-a7c2-f7705f770cacÙ$0ac40588-fd45-4eef-89f1-b3552d0246a2Ù$3b18aa3a-4521-4b4c-9500-a5f95003aed5Ù$8143e4f0-8d66-4c64-9b4c-68954167e803Ù$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9a±published_objects€¥nbpkgŠ¯install_time_nsÀ¬instantiatedÃ²installed_versions€°terminal_outputs€§enabledÂ·restart_recommended_msgÀ´restart_required_msgÀ­busy_packages�¶waiting_for_permissionÂÙ,waiting_for_permission_but_probably_disabledÂ«cell_inputsÞ MÙ$a10d59e8-8dae-4796-a88b-4907437164f5„§cell_idÙ$a10d59e8-8dae-4796-a88b-4907437164f5¤codeÙƒbegin
	struct Parameters
		names::Vector{Symbol}
	end

	function Base.show(io::IO, m::MIME"text/html", ps::Parameters)
		
	end

end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$3b18aa3a-4521-4b4c-9500-a5f95003aed5„§cell_idÙ$3b18aa3a-4521-4b4c-9500-a5f95003aed5¤codeÙ�@skip_as_script cb2b = @bind wowz combine() do Child
	md"""
	Do a thing: $(Child(CheckBox()))
	
	#### Up
	$(Child(cb1))

	#### Down
	$(Child(cb1))
	
	"""
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146a„§cell_idÙ$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146a¤codeÚÄ"""
Same as `repr(MIME"text/html"(), x)` but the `IOContext` is set up to match the one used by Pluto to render. This means that if the object being rendered wants to use `AbstractPlutoDingetjes.is_supported_by_display`, they can.
"""
render_hmtl_with_pluto_display_features(x) = sprint() do io
	Base.show(
		IOContext(io, 
			:pluto_supported_integration_features => [
				AbstractPlutoDingetjes,
				AbstractPlutoDingetjes.Bonds,
				AbstractPlutoDingetjes.Bonds.initial_value,
				AbstractPlutoDingetjes.Bonds.transform_value,
				AbstractPlutoDingetjes.Bonds.possible_values,
			],
			:color => false, :limit => true, 
			:displaysize => (18, 88), :is_pluto => true, 
		),
		MIME"text/html"(),
		x
	)
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9a„§cell_idÙ$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9a¤code´@skip_as_script cb2b¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$dcb4786a-930a-4e8a-860a-a12c7e8726c6„§cell_idÙ$dcb4786a-930a-4e8a-860a-a12c7e8726c6¤code©ha === hb¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$28e73db2-6c80-44c5-94cd-d5a2cc7cd935„§cell_idÙ$28e73db2-6c80-44c5-94cd-d5a2cc7cd935¤codeÙÊ@skip_as_script rb = @bind together combine() do Child
	@htl("""
	<p>Hello world!</p>
	$(Child(TextField()))
	$(Child(Slider([sin, cos, tan])))
	$([
		Child(Scrubbable(7))
		for _ in 1:3
	])
	
	""")
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$7f70715b-b13c-4b72-93c3-5c2c4334b809„§cell_idÙ$7f70715b-b13c-4b72-93c3-5c2c4334b809¤codeÙ&@skip_as_script push!(â˜Žï¸�s, â˜Žï¸�)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$4650374e-dae2-46cb-ba91-50200621bf08„§cell_idÙ$4650374e-dae2-46cb-ba91-50200621bf08¤code²@skip_as_script rb¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$0605a0c5-1329-4e9b-916d-c74a132598e0„§cell_idÙ$0605a0c5-1329-4e9b-916d-c74a132598e0¤codeÙKmacro only_as_script(ex) skip_as_script(__module__) ? nothing : esc(ex) end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$5ac241dc-7d04-46a5-943e-6830f745e798„§cell_idÙ$5ac241dc-7d04-46a5-943e-6830f745e798¤code¾Scrubbable(1) == Scrubbable(1)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$8143e4f0-8d66-4c64-9b4c-68954167e803„§cell_idÙ$8143e4f0-8d66-4c64-9b4c-68954167e803¤code´@skip_as_script wowz¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$a570d7ef-72e5-49dd-92bd-e3925c896a23„§cell_idÙ$a570d7ef-72e5-49dd-92bd-e3925c896a23¤code²hash(ca), hash(cb)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$8335ad24-3ff8-4a74-862f-13a710d4acf8„§cell_idÙ$8335ad24-3ff8-4a74-862f-13a710d4acf8¤codeÙ&Scrubbable(1:100) == Scrubbable(1:100)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$87796357-5df1-4a7a-928a-5df3527b956f„§cell_idÙ$87796357-5df1-4a7a-928a-5df3527b956f¤code®Pkg.activate()¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$accefce9-8508-495f-bb5e-6d3446e0c9a6„§cell_idÙ$accefce9-8508-495f-bb5e-6d3446e0c9a6¤codeÚ
function _combine(f::Function; try_persist_values::Bool=false)
	key = String(rand('a':'z', 10))

	captured_names = Symbol[]
	captured_bonds = []

	function combined_child_element(x)
		@htl("""<pl-combined-child key=$(key) style='display: contents;'>$(x)</pl-combined-child>""")
	end

	
	created_callbacks = RenderCallback[]

	#=
	
	This is the function that will wrap around contained input elements.
	
	Besides wrapping the input inside a special HTML element 
	(with `combined_child_element`), it also secretly adds the element to 
	`captured_bonds`. 
	
	This allows us to know exactly which elements are contained in the combine,
	which we use for `Bonds.initial_value`, `Bonds.transform_value`, etc.
	
	This function could be a lot simpler:

	```
	function Child(x)
		push!(captured_bonds, x)
		combined_child_element(x)
	end
	```
	
	But instead, it's complicated!
	
	The reason is that we want to capture the combined bonds not in the order
	that they are wrapped (i.e. when `Child` is called), but in the order that they
	are **displayed** in, because this matches the order that our JavaScript code
	will find the special elements in.
	
	=#
	function Child(x)
		rc = RenderCallback(combined_child_element(x)) do
			# @info "Rendering" x stacktrace()
			push!(captured_bonds, x)
		end
		push!(created_callbacks, rc)
		rc
	end
	# the same, but with `name`
	function Child(name::Union{String,Symbol}, x)
		rc = RenderCallback(combined_child_element(x)) do
			push!(captured_bonds, x)
			push!(captured_names, Symbol(name))
		end
		push!(created_callbacks, rc)
		rc
	end

	# call the user's render function
	result = f(Child)

	# Trigger HTML display, which will also render the Child elements, and fire our callbacks.
	# We store the result because we don't want to re-render the contents every time the combine is rendered: if the displayed content contains lazy generators, then blablablalbl difficult but fixed now -fons
	display_html = render_hmtl_with_pluto_display_features(result)

	# @info "Captured" captured_bonds length(created_callbacks)
	
	# disable callbacks
	disable_callback!.(created_callbacks)
	
	# lets see what we got
	@assert isempty(captured_names) || length(captured_names) == length(captured_bonds) "Some children do not have a name. Make sure that all calls of `Child` provide two arguments."
	
	CombinedBonds(;
		secret_key = key,
		try_persist_values = try_persist_values,
		captured_names = isempty(captured_names) ? nothing : tuple(captured_names...),
		captured_bonds = captured_bonds,
		display_content = HTML(display_html),
	)
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$32ab1f69-9e16-45ad-b44d-895a564178f4„§cell_idÙ$32ab1f69-9e16-45ad-b44d-895a564178f4¤codeªimport Pkg¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$aa01652d-7690-4462-8bae-2d77656abc8b„§cell_idÙ$aa01652d-7690-4462-8bae-2d77656abc8b¤codeÙéjust_created_bond = Slider(1:10)

bond = APD.Bonds.incorporate_last_bond(just_created_bond, old_bond)


x = Bonds.initial_value(bond)

# let Pluto server know that :x is bound to `bond`

HTML("<pluto-bond for=x>$(bond)</pluto-bond>")¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$9b705730-a68a-450f-99a8-11b7d302ebe0„§cell_idÙ$9b705730-a68a-450f-99a8-11b7d302ebe0¤code©ca === cb¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$290974ad-8c0a-48b6-a691-74ba7dc2b0f8„§cell_idÙ$290974ad-8c0a-48b6-a691-74ba7dc2b0f8¤codeÙ,@skip_as_script let
	sleep(.5)
	together
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$5922807c-6e49-11ec-3c79-87e011cbf088„§cell_idÙ$5922807c-6e49-11ec-3c79-87e011cbf088¤code­using PlutoUI¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$34cfe0dc-7bca-4c6f-99ce-96758ccbd3af„§cell_idÙ$34cfe0dc-7bca-4c6f-99ce-96758ccbd3af¤codeÚconst set_input_value_compat = HypertextLiteral.JavaScript("""
(() => {
	let result = null
	try {
	result = setBoundElementValueLikePluto
} catch (e) {
	result = ((input, new_value) => {
	// fallback in case https://github.com/fonsp/Pluto.jl/pull/1755 is not available
    if (new_value == null) {
        //@ts-ignore
        input.value = new_value
        return
    }
    if (input instanceof HTMLInputElement) {
        switch (input.type) {
            case "range":
            case "number": {
                if (input.valueAsNumber !== new_value) {
                    input.valueAsNumber = new_value
                }
                return
            }
            case "date": {
                if (input.valueAsDate == null || Number(input.valueAsDate) !== Number(new_value)) {
                    input.valueAsDate = new_value
                }
                return
            }
            case "checkbox": {
                if (input.checked !== new_value) {
                    input.checked = new_value
                }
                return
            }
            case "file": {
                // Can't set files :(
                return
            }
        }
    } else if (input instanceof HTMLSelectElement && input.multiple) {
        for (let option of Array.from(input.options)) {
            option.selected = new_value.includes(option.value)
        }
        return
    }
    //@ts-ignore
    if (input.value !== new_value) {
        //@ts-ignore
        input.value = new_value
    }
})
}
return result
})()
""")¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÃÙ$172e4393-8b3e-434e-a20a-d7748214fc23„§cell_idÙ$172e4393-8b3e-434e-a20a-d7748214fc23¤codeÙ#import AbstractPlutoDingetjes.Bonds¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$845513d0-eb02-4c6a-bee9-56054d212d71„§cell_idÙ$845513d0-eb02-4c6a-bee9-56054d212d71¤code¶@skip_as_script speeds¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$06d6f45a-3783-4b31-8926-ff0973bcc188„§cell_idÙ$06d6f45a-3783-4b31-8926-ff0973bcc188¤codeº@bind vals f(chosen_names)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8„§cell_idÙ$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8¤code¤vals¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$c646e383-aebc-43ea-9c61-542166e5e455„§cell_idÙ$c646e383-aebc-43ea-9c61-542166e5e455¤code¨Dump(ca)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$dd5f2f46-f2f4-441b-b855-f6814a5b5b98„§cell_idÙ$dd5f2f46-f2f4-441b-b855-f6814a5b5b98¤code³md"""
# Combine
"""¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÃÙ$321969fb-ff25-4a74-a23e-0b2a761050e7„§cell_idÙ$321969fb-ff25-4a74-a23e-0b2a761050e7¤code±sleep(1); asdfsdf¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$fab701a7-7a70-4cc5-a1ad-a143b9125bec„§cell_idÙ$fab701a7-7a70-4cc5-a1ad-a143b9125bec¤codeÙÅ@skip_as_script begin
	â˜Žï¸�s = []
	â˜Žï¸�c = combine() do Child
		@htl("""
		$((
			Child(Slider(LinRange(rand(), rand()+1, 10))) for x in 1:5
		))
		""")
	end
	â˜Žï¸�b = @bind â˜Žï¸� â˜Žï¸�c
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$9919ed90-ba6d-48d6-8f73-b9b509e88843„§cell_idÙ$9919ed90-ba6d-48d6-8f73-b9b509e88843¤codeÙJca = combine() do Child
	@htl("""
	Hello $(Child(Slider(1:100)))
	""")
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$37112cd7-4f1c-4d7b-8531-59a74db71451„§cell_idÙ$37112cd7-4f1c-4d7b-8531-59a74db71451¤codeÚ€"""
```julia
PlutoUI.combine(render_function::Function)
```

Combine multiple input elements into one. The combined values are sent to `@bind` as a single tuple.

`render_function` is a function that you write yourself, take a look at the examples below.

# Examples

## ðŸ�¶ & ðŸ�±

We use the [`do` syntax](https://docs.julialang.org/en/v1/manual/functions/#Do-Block-Syntax-for-Function-Arguments) to write our `render_function`. The `Child` function is wrapped around each input, to let `combine` know which values to combine.

```julia
@bind values PlutoUI.combine() do Child
	md""\"
	# Hi there!

	I have \$(
		Child(Slider(1:10))
	) dogs and \$(
		Child(Slider(5:100))
	) cats.

	Would you like to see them? \$(Child(CheckBox(true)))
	""\"
end

values == (1, 5, true) # (initially)
```


> The output looks like:
> 
> ![screenshot of running the code above inside Pluto](https://user-images.githubusercontent.com/6933510/145589918-25a3c732-c02e-482b-831b-06131b283597.png)

## ðŸŽ�


The `combine` function is most useful when you want to generate your input elements _dynamically_. This example uses [HypertextLiteral.jl](https://github.com/MechanicalRabbit/HypertextLiteral.jl) for the `@htl` macro:

```julia
function wind_speeds(directions)
	PlutoUI.combine() do Child
		@htl(""\"
		<h6>Wind speeds</h6>
		<ul>
		\$([
			@htl("<li>\$(name): \$(Child(Slider(1:100)))</li>")
			for name in directions
		])
		</ul>
		""\")
	end
end

@bind speeds wind_speeds(["North", "East", "South", "West"])

speeds == (1, 1, 1, 1) # (initially)

# after moving the sliders:
speeds == (100, 36, 73, 60)
```

> The output looks like:
> 
> ![screenshot of running the code above inside Pluto](https://user-images.githubusercontent.com/6933510/145588612-14824654-5c73-45f8-983c-8913c7101a78.png)


# Named variant

In the last example, we used `Child` to wrap around contained inputs:
```julia
Child(Slider(1:100))
```
We can also use the **named variant**, which looks like:
```julia
Child("East", Slider(1:100))
```

When you use the *named variant* for all children, **the bound value will be `NamedTuple`, instead of a `Tuple`**.

Let's rewrite our example to use the *named variant*:

```julia
function wind_speeds(directions)
	PlutoUI.combine() do Child
		@htl(""\"
		<h6>Wind speeds</h6>
		<ul>
		\$([
			@htl("<li>\$(name): \$(Child(name, Slider(1:100)))</li>")
			for name in directions
		])
		</ul>
		""\")
	end
end

@bind speeds wind_speeds(["North", "East", "South", "West"])

speeds == (North=1, East=1, South=1, West=1) # (initially)

# after moving the sliders:
speeds == (North=100, East=36, South=73, West=60)

md"The Eastern wind speed is \$(speeds.East)."
```


> The output looks like:
> 
> ![screenshot of running the code above inside Pluto](https://user-images.githubusercontent.com/6933510/145615489-b3fb910d-0dc1-408b-882f-b05ca0129b18.gif)


# Why?
## You can make a new widget!
You can use `combine` to **create a brand new widget** yourself, by combining existing ones!

In the example above, we created a new widget called `wind_speeds`. You could **put this function in a package** (e.g. `WeatherUI.jl`) and people could use it like so:

```julia
import WeatherUI: wind_speeds

@bind speeds wind_speeds(["North", "East"])
```

In other words: you can use `combine` to create application-specific UI elements, and you can put those in your package!

## Difference with repeated `@bind`
The standard way to combine multiple inputs into one output is to use `@bind` multiple times. Our initial example could more easily be written as:
```julia
md""\"
# Hi there!

I have \$(@bind num_dogs Slider(1:10)) dogs and \$(@bind num_cats Slider(5:10)) cats.

Would you like to see them? \$(@bind want_to_see CheckBox(true))
""\"
```

The `combine` function is useful when you are generating inputs **dynamically**, like in our second example. This is useful when:
- The number of parameters is very large, and you don't want to write `@bind parameter1 ...`, `@bind parameter2 ...`, etc. 
- The number of parameters is dynamic! For example, you can load in a table in one cell, and then use `combine` in another cell to select which rows you want to use.

"""
combine(f::Function; kwargs...) = _combine(f; kwargs...)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$a0ae55eb-5c18-451a-896d-325f09dba6cd„§cell_idÙ$a0ae55eb-5c18-451a-896d-325f09dba6cd¤code¶using HypertextLiteral¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$1fb3f5f0-6baf-418c-84bf-507579adb8be„§cell_idÙ$1fb3f5f0-6baf-418c-84bf-507579adb8be¤codeÙÉ@skip_as_script @bind values combine() do Child
	md"""
	# Hi there!

	I have $(Child(Slider(1:10))) dogs and $(Child(Slider(5:10))) cats.

	Would you like to see them? $(Child(CheckBox(true)))
	"""
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$7a4716c5-07e3-49bc-bbcb-1cc38f58a053„§cell_idÙ$7a4716c5-07e3-49bc-bbcb-1cc38f58a053¤codeÙ'md"""
### Initial value & transform
"""¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÃÙ$8a1b06d4-29fa-443d-a7c2-f7705f770cac„§cell_idÙ$8a1b06d4-29fa-443d-a7c2-f7705f770cac¤codeÙ$md"""
### Combine inside combine
"""¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$d4a52691-6c69-4726-a119-499d6fb77fc1„§cell_idÙ$d4a52691-6c69-4726-a119-499d6fb77fc1¤codeÙû"""
	@skip_as_script expression

Marks a expression as Pluto-only, which means that it won't be executed when running outside Pluto. Do not use this for your own projects.
"""
macro skip_as_script(ex) skip_as_script(__module__) ? esc(ex) : nothing end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÃÙ$e2234e7f-dbe1-4f95-9b51-04d20487f46a„§cell_idÙ$e2234e7f-dbe1-4f95-9b51-04d20487f46a¤codeª"a" == "a"¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$8fb86e46-9b31-46a9-9bde-ad263f1bae8e„§cell_idÙ$8fb86e46-9b31-46a9-9bde-ad263f1bae8e¤code»md"""
# Combining bonds
"""¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÃÙ$f712f428-6da4-497d-85fe-a52069c8e294„§cell_idÙ$f712f428-6da4-497d-85fe-a52069c8e294¤codeÚnbegin
	local output = begin
	"""
	```julia
	RenderCallback(callback::Function, x::Any)
	```
	An HTML display passthrough of `x` (displays the same content), but when it is displayed, a callback function is invoked. `disable_callback!` can remove a callback.
	"""
	struct RenderCallback
		callback_ref::Ref{Union{Function,Nothing}}
		content::Any
	end
	end
			
	function disable_callback!(rc::RenderCallback)
		rc.callback_ref[] = nothing
	end
	function Base.show(io::IO, m::MIME"text/html", rc::RenderCallback)
		if rc.callback_ref[] !== nothing
			rc.callback_ref[]()
		end
		Base.show(io, m, rc.content)
	end
	output
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÃÙ$4ada86e7-e310-471d-af45-f99310b6e223„§cell_idÙ$4ada86e7-e310-471d-af45-f99310b6e223¤codeÙÃ@skip_as_script begin
	itvs = []
	itb = @bind itv combine() do Child
		@htl("""
		<p>Hello world!</p>
		$(Child(@htl("<input type=range>")))
		$(Child(Slider([sin, cos, tan])))
		
		""")
	end
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$addf4a56-5d85-4b5c-b956-8acacad79e5e„§cell_idÙ$addf4a56-5d85-4b5c-b956-8acacad79e5e¤codeÙ&@skip_as_script â˜Žï¸�c.captured_bonds¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$76b5f036-6b70-4605-9063-f405b6b701fd„§cell_idÙ$76b5f036-6b70-4605-9063-f405b6b701fd¤codeÚ+md"""
# TODO
- get secret_id from last Combine
- get last Combine, ideally during constructor
- get last bond value, during constructor or intial_value


Maybe

```julia
Bonds.incorporate_last_bond(
	just_created::T, 
	previous::T, 
	previous_value_from_js::Any
)::T

```
with default `(a,b)->a`
"""¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$0691aa89-eac7-426e-a5c5-3cbd131f929b„§cell_idÙ$0691aa89-eac7-426e-a5c5-3cbd131f929b¤code´A([1],2) == A([1],2)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91„§cell_idÙ$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91¤codeÙ«function skip_as_script(m::Module)
	if isdefined(m, :PlutoForceDisplay)
		return m.PlutoForceDisplay
	else
		isdefined(m, :PlutoRunner) && parentmodule(m) == Main
	end
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÃÙ$68197884-858c-4f0c-b858-4f7f3b081ddc„§cell_idÙ$68197884-858c-4f0c-b858-4f7f3b081ddc¤codeÙjhb = @htl("""ab $(@htl("<em style=$((a=123, b=234))>asdf</em>")) c
<script>
let z = $(1+1)
</script>

""")¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$ec0eb9eb-6716-4648-b7c7-203bd71fa64f„§cell_idÙ$ec0eb9eb-6716-4648-b7c7-203bd71fa64f¤code¾Slider(1:100) == Slider(1:100)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$2c2036bd-2cea-4fe0-9f44-a6522826fdc3„§cell_idÙ$2c2036bd-2cea-4fe0-9f44-a6522826fdc3¤code¶@skip_as_script values¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$b4409bf0-75fd-4745-b686-079193900c27„§cell_idÙ$b4409bf0-75fd-4745-b686-079193900c27¤codeÙË@skip_as_script begin
	it2vs = []
	it2b = @bind it2v combine() do Child

		z = Child(Slider(1:10))
		
		@htl("""
		<p>Hello world!</p>
		$(z)
		$(Child(Slider([sin, cos, tan])))
		$(z)
		
		""")
	end
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$8d1c2e47-3252-4e7b-9940-3c843e520cc6„§cell_idÙ$8d1c2e47-3252-4e7b-9940-3c843e520cc6¤code²struct A
	x
	y
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$231442e3-a1bc-4285-8c23-045a9bb60d67„§cell_idÙ$231442e3-a1bc-4285-8c23-045a9bb60d67¤codeÙ"@skip_as_script push!(it2vs, it2v)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$45986edf-1a65-4712-91b9-b79a408e0782„§cell_idÙ$45986edf-1a65-4712-91b9-b79a408e0782¤code ¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÃÙ$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8e„§cell_idÙ$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8e¤codeÚ\function f(names)
	# Parameters(names)
	combine(try_persist_values=true) do Child
		@htl("""
		<table><caption><h3>Parameters</h3></caption>
	  <thead><tr><th>Name</th><th>value</th></thead>
		<tbody>
	  $((@htl("""
	  <tr><td>$(name)</td><td>$(Child(name, NumberField(0:.1:100)))</td></tr>
	""") for name in names))</tbody></table>
		""")
	end
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$5590c2db-b49f-4116-a8a9-4ebab576e79c„§cell_idÙ$5590c2db-b49f-4116-a8a9-4ebab576e79c¤code¶md"""
## The magic
"""¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÃÙ$5366270a-4f63-4d8a-bc4f-de36c0895a8b„§cell_idÙ$5366270a-4f63-4d8a-bc4f-de36c0895a8b¤codeÙ-RenderCallback(@htl("hello")) do
	nothing
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$c527b5f8-de42-4b96-9542-3bcc0a13372d„§cell_idÙ$c527b5f8-de42-4b96-9542-3bcc0a13372d¤codeÙÛ@skip_as_script @bind speeds_named combine() do Child
	@htl("""
	<h3>Wind speeds</h3>
	<ul>
	$([
		@htl("<li>$(name): $(Child(name, Slider(1:100)))")
		for name in ["North", "East", "South", "West"]
	])
	</ul>
	""")
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$6533a616-d778-4870-98b2-445a48f6d145„§cell_idÙ$6533a616-d778-4870-98b2-445a48f6d145¤codeµ# @skip_as_script itb¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$d71251ee-ceaf-46e5-b93d-82472ee08b00„§cell_idÙ$d71251ee-ceaf-46e5-b93d-82472ee08b00¤code´@bind x Slider(1:10)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$3c46ef54-0260-4269-b917-d14ce98a83f7„§cell_idÙ$3c46ef54-0260-4269-b917-d14ce98a83f7¤codeÙjha = @htl("""ab $(@htl("<em style=$((a=123, b=234))>asdf</em>")) c
<script>
let z = $(1+1)
</script>

""")¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$afc4a320-575a-4660-977b-51804160d334„§cell_idÙ$afc4a320-575a-4660-977b-51804160d334¤codeÙ(NumberField(1:100) == NumberField(1:100)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$25d15bbe-e29b-4383-ae47-d3ee744f80ed„§cell_idÙ$25d15bbe-e29b-4383-ae47-d3ee744f80ed¤code½import AbstractPlutoDingetjes¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106f„§cell_idÙ$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106f¤code¨ca == cb¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$b338de96-b108-4cf5-921c-4ec71c4ee498„§cell_idÙ$b338de96-b108-4cf5-921c-4ec71c4ee498¤codeÙ1md"""
Should be `[[missing, sin], [50, sin]]`
"""¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÃÙ$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0„§cell_idÙ$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0¤code¨ha == hb¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$0ac40588-fd45-4eef-89f1-b3552d0246a2„§cell_idÙ$0ac40588-fd45-4eef-89f1-b3552d0246a2¤codeÙ…@skip_as_script cb1 = combine() do Child
	md"""
	Left: $(Child(:left, Slider(1:10))), right: $(Child(:right, Scrubbable(5)))
	"""
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$ef6358be-4d53-42f0-8501-f7d7d3838781„§cell_idÙ$ef6358be-4d53-42f0-8501-f7d7d3838781¤code®export combine¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$ebedad7d-764b-4eb1-9e6d-559a3c033cd0„§cell_idÙ$ebedad7d-764b-4eb1-9e6d-559a3c033cd0¤codeÙ*all_names = [:fons, :hannes, :asdf_dsfsdf]¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$814502c7-e9e7-4401-8465-fd11c2807e07„§cell_idÙ$814502c7-e9e7-4401-8465-fd11c2807e07¤code¼@skip_as_script speeds_named¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281„§cell_idÙ$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281¤codeÙ @skip_as_script push!(itvs, itv)¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$19a66a5a-fcd6-44dc-80de-c6c70674728b„§cell_idÙ$19a66a5a-fcd6-44dc-80de-c6c70674728b¤codeÙJcb = combine() do Child
	@htl("""
	Hello $(Child(Slider(1:100)))
	""")
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$7e9e418a-399e-4122-aab3-5f9d96e66301„§cell_idÙ$7e9e418a-399e-4122-aab3-5f9d96e66301¤code»@bind asdfsdf html"<input>"¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$8d1f6bd1-2d69-4685-8590-c5f93ef9b669„§cell_idÙ$8d1f6bd1-2d69-4685-8590-c5f93ef9b669¤codeÙC@bind chosen_names MultiCheckBox(all_names; default=all_names[1:2])¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$0a47600f-62a6-4f75-bf30-7c9f45426ce1„§cell_idÙ$0a47600f-62a6-4f75-bf30-7c9f45426ce1¤codeµmd"""
## Examples
"""¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$4b4f5148-4bb5-4c91-811b-f822f7d403c4„§cell_idÙ$4b4f5148-4bb5-4c91-811b-f822f7d403c4¤codeÙ9@htl("ab$(123)c").contents .== @htl("ab$(123)c").contents¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$dbae3ed0-3e25-4878-bbc2-b11d480689bc„§cell_idÙ$dbae3ed0-3e25-4878-bbc2-b11d480689bc¤codeÚCbegin
	Base.@kwdef struct CombinedBonds
		display_content::Any
		captured_names::Union{Nothing,NTuple{N,Symbol} where N}
		captured_bonds::Vector{Any}
		secret_key::String
		try_persist_values::Bool
	end

	function Base.show(io::IO, m::MIME"text/html", cb::CombinedBonds)
		if !AbstractPlutoDingetjes.is_supported_by_display(io, Bonds.transform_value)
			return Base.show(io, m, HTML("<span>â�Œ You need to update Pluto to use this PlutoUI element.</span>"))
		end
		output = @htl(
			"""<span style='display: contents;'>$(
				cb.display_content
			)<script id=$("plutoui-combine")>

		let set_input_value = $(set_input_value_compat)
		
		const div = currentScript.parentElement
		let key = $(cb.secret_key)
		const inputs = div.querySelectorAll(`pl-combined-child[key='\${key}'] > *:first-child`)

		const names = $(cb.captured_names === nothing ? nothing : string.(cb.captured_names))
		const values = Array(inputs.length)
		const old_names = this?.names
		const old_values = this?.values
		const try_persist_values = $(cb.try_persist_values)

		console.info("this ", {old_names, names, old_values, values})

		try_persist_values && old_names != null && old_values != null && old_names.length === old_values.length && inputs.forEach((el,i) => {
			let old_index = old_names.indexOf(names[i])

			if(old_index !== -1){
				set_input_value(el, old_values[old_index])
			}
		})
		
		inputs.forEach(async (el,i) => {
			el.oninput = (e) => {
				e.stopPropagation()
			}
			const gen = Generators.input(el)
			while(true) {
				values[i] = await gen.next().value
				div.dispatchEvent(new CustomEvent("input", {}))
			}
		})
	
		Object.defineProperty(div, 'value', {
			get: () => values,
			set: (newvals) => {
				if(!newvals) {
					return
				}
				inputs.forEach((el, i) => {
					values[i] = newvals[i]
					set_input_value(el, newvals[i])
				})
		},
			configurable: true,
		});

		const return_dummy = document.createElement("span")
		return_dummy.names = names
		return_dummy.values = values
		return return_dummy

		</script></span>""")
		Base.show(io, m, output)
	end

	function Bonds.initial_value(cb::CombinedBonds)
		vals = tuple((Bonds.initial_value(b) for b in cb.captured_bonds)...)

		if cb.captured_names === nothing
			vals
		else
			NamedTuple{cb.captured_names}(vals)
		end
	end
	function Bonds.validate_value(cb::CombinedBonds, from_js)
		if from_js isa Vector && length(from_js) == length(cb.captured_bonds)
			all((
				Bonds.validate_value(bond, val_js)
				for (bond, val_js) in zip(cb.captured_bonds, from_js)
			))
		else
			false
		end
	end
	function Bonds.transform_value(cb::CombinedBonds, from_js)
		@assert from_js isa Vector
		@assert length(from_js) == length(cb.captured_bonds)

		vals = tuple((
			Bonds.transform_value(bond, val_js)
			for (bond, val_js) in zip(cb.captured_bonds, from_js)
		)...)

		if cb.captured_names === nothing
			vals
		else
			NamedTuple{cb.captured_names}(vals)
		end
		
		# [
		# 	Bonds.transform_value(bond, val_js)
		# 	for (bond, val_js) in zip(cb.captured_bonds, from_js)
		# ]
	end
	
	# TODO:
	# function Bonds.possible_values (cb::CombinedBonds, from_js)
	# end
	
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$24aa7b61-1c22-4d84-b19c-4ead65ae4615„§cell_idÙ$24aa7b61-1c22-4d84-b19c-4ead65ae4615¤codeÙÊlet
	values = []
	rc = RenderCallback(@htl("asdf")) do
		push!(values, 123)
	end
	repr(MIME"text/html"(), rc)
	disable_callback!(rc)
	repr(MIME"text/html"(), rc)
	repr(MIME"text/html"(), rc)
	values
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$33abfc8f-1590-45cd-9d3d-6a4cf211988d„§cell_idÙ$33abfc8f-1590-45cd-9d3d-6a4cf211988d¤codeÙÏ@skip_as_script @bind speeds combine() do Child
	@htl("""
	<h3>Wind speeds</h3>
	<ul>
	$([
		@htl("<li>$(name): $(Child(Slider(1:100)))")
		for name in ["North", "East", "South", "West"]
	])
	</ul>
	""")
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$9bbe9030-86ae-490f-ae97-317ee3f05f47„§cell_idÙ$9bbe9030-86ae-490f-ae97-317ee3f05f47¤code²md"""
## Tests
"""¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÃ«notebook_idÙ$59d97ba6-4aa2-11f0-10f9-0b660d6e6ed5«in_temp_dirÂ¨metadata€